Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Вложенный FOR (http://forum.oszone.net/showthread.php?t=313325)

Fresh96 31-03-2016 06:58 2621533

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

Код:

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 31-03-2016 08:33 2621546

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% не критичны.


Время: 22:08.

Время: 22:08.
© OSzone.net 2001-