CMD/BAT - [решено] Вложенный FOR

Ответить
Аватара пользователя
Fresh96

CMD/BAT - [решено] Вложенный FOR

Сообщение Fresh96 »

Здравствуйте. Подскажите по следующему коду:





Код:

Код: Выделить всё

setlocal enableextensions enabledelayedexpansion
set nameFolder=G:\Hegenscheidt\Documentation\Results
set Tmp1=tempfolder.tmp
::Получаем список папок в папке %nameFolder%
del %Tmp1% >nul
for /F "delims=" %%A in ('dir "%nameFolder%" /b /a:d') do (
Echo %%A>>%Tmp1%
)
for /F "delims=" %%B in (%Tmp1%) do (
for /R %nameFolder%\%%~B %%I In (*.pdf) Do If %%~zI LSS 3072 (
Del /F /Q "%%~I"
)
)
pause

Получаю имя папки из файла %Tmp1% в %%B. Затем, нужно подставить имя данной папки в путь для следующего цикла FOR, но ...

в строке for /R %nameFolder%\%%~B ... %%~B - не раскрывается в значение и соответственно путь поиска файлов неверный. Если прописать путь "жёстко", то всё работает.

Подскажите, пожалуйста, как исправить.
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - [решено] Вложенный FOR

Сообщение Petya V4sechkin »

Fresh96, как-то так:



Код:

Код: Выделить всё

@echo off
set nameFolder=G:\Hegenscheidt\Documentation\Results
for /F "delims=" %%A in ('dir "%nameFolder%" /B /AD') do (
  for /F "delims=" %%I in ('dir "%nameFolder%\%%~A\*.pdf" /B /S /A-D') do (
    if %%~zI LSS 3072 del /F /Q "%%~I"
  )
)

P. S. Можно вообще упростить до одного цикла, если PDF-файлы в самой корневой папке %nameFolder% не критичны.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»