LooTer
18-07-2008, 15:53
Народ, подскажите пожалуйста:
Нужeн батник, который бы удалял из папки в которой лежит те папки, которые не входят в список(лежащий рядом list.txt )
Код который я написал:
SETLOCAL ENABLEEXTENSIONS
@echo off
call :read_list %~dp0\list.txt || exit /b 1
exit /b 0
:read_list
set LISTFILE=%1
if not exist %LISTFILE% (
echo FAIL: Файл со списком отсутствует
exit /b 1
)
set VAR=no
for /f "usebackq delims==" %%i in (`"dir "%cdd%" /ad /b"`) do (
for /f %%j in (%LISTFILE%) do (
if %%i==%%j (set VAR=yes)
)
if "!VAR!"=="no" (rd /s /q %%i)
set VAR=no)
pause
set VAR=no
)
exit /b 0
Но вот что то он не хочет работать...
почему то не хочет присваиваться if %%i==%%j (set VAR=yes)
Может кто подскажет почему или предложит как проще реализовать?
Нужeн батник, который бы удалял из папки в которой лежит те папки, которые не входят в список(лежащий рядом list.txt )
Код который я написал:
SETLOCAL ENABLEEXTENSIONS
@echo off
call :read_list %~dp0\list.txt || exit /b 1
exit /b 0
:read_list
set LISTFILE=%1
if not exist %LISTFILE% (
echo FAIL: Файл со списком отсутствует
exit /b 1
)
set VAR=no
for /f "usebackq delims==" %%i in (`"dir "%cdd%" /ad /b"`) do (
for /f %%j in (%LISTFILE%) do (
if %%i==%%j (set VAR=yes)
)
if "!VAR!"=="no" (rd /s /q %%i)
set VAR=no)
pause
set VAR=no
)
exit /b 0
Но вот что то он не хочет работать...
почему то не хочет присваиваться if %%i==%%j (set VAR=yes)
Может кто подскажет почему или предложит как проще реализовать?