Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Цикл в Цикле

Ответить
Настройки темы
CMD/BAT - Цикл в Цикле

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Cуть проблемы в следующем.
Организован цикл, который просматривается файл и при нахождении нужного значения организовывается второй цикл,
у которого в значение SKIP нужно передать значение счетчика(переменная n) который считается в первом цикле.

Код: Выделить весь код
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
set /a n = 0
for /f "delims=" %%a in (файл) do (
set /a n = n + 1
if %%a==значение (
for /f "skip=!n! delims=" %%b in (файл) do (...)
)
)
.....

Отправлено: 23:26, 07-09-2011

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


deamon7,
Выноси второй цикл наружу:
Код: Выделить весь код
@echo off
SETLOCAL

for /f "delims=" %%a in (файл) do call:label "%%a"
........
goto:eof

:label
set /a n+=1
if %1=="значение" (

    for /f "skip=%n% delims=" %%b in (файл) do (...)

)

Отправлено: 06:44, 08-09-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго дня

for /d %%A IN (C:\Users\*) DO for /d %%B IN (%%A\AppData\Local\Mozilla\Firefox\Profiles\*) del /S /Q /F %%B\cache2\*.*

как разрулить такую задачку?

Отправлено: 20:30, 13-04-2023 | #3


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


чтоб получить совет покажите как сами пробовали решить

Отправлено: 04:52, 14-04-2023 | #4


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6697
Благодарности: 1571

Профиль | Отправить PM | Цитировать


Powershell:
Код: Выделить весь код
del "$env:SystemDrive\Users\*\AppData\Local\Mozilla\Firefox\Profiles\*\cache2\*" -Recurse -Force -WhatIf
Уберите -WhatIf, чтобы реально удаляло.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:26, 14-04-2023 | #5


Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


shustrik86, Как минимум, во втором For пропустили Do
Неплохо бы пути брать в кавычки.
Не понимаю стремления записать всё в одну строку - код нечитаемый и ошибок не видно
Вариант
Код: Выделить весь код
@Echo Off
	for /d %%A IN ("C:\Users\*") DO (
		for /d %%B IN ("%%A\AppData\Local\Mozilla\Firefox\Profiles\*") Do (
			Pushd "%%B\cache2" && (2>nul echo Rd /Q /S "%%B\cache2" &Popd)
		)
	)
Exit /B
Для реальной очистки echo удалите

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 09:04, 15-04-2023 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Цикл в Цикле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] в батнике вообще можно использовать ИЛИ в цикле if? emekhedova Скриптовые языки администрирования Windows 5 09-04-2011 20:11
CMD/BAT - [решено] Не распознается подстановочный знак (*) в цикле for Gamer Скриптовые языки администрирования Windows 4 30-09-2010 10:03
.NET - Перекрытие области видимости в цикле foreach Delirium Программирование и базы данных 2 18-09-2010 02:06
CMD/BAT - Обработать два текстовых файла в одном цикле: как? grinsen Скриптовые языки администрирования Windows 1 27-02-2010 03:33
Повтор в цикле команды XCopy babki Программирование и базы данных 6 29-11-2005 10:22




 
Переход