dorosa
11-03-2012, 21:41
Здравствуйте!
Столкнулся с такими проблемами:
Удаление папок по списку с использованием масок
Часть кода для удаления папок по списку
for /F "usebackq delims=" %%A in ("%Resources%\$_Deletes\PE_del_folders.txt") do (
SET pfnm=%%A
IF "!pfnm:~0,1!"=="\" (
IF EXIST "%Mount%!pfnm!" RD /S /Q "%Mount%!pfnm!"
)
)
Если в списке полное название папки и пути, то все удаляется отлично.
Кусок PE_del_folders.txt
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-00000449_31bf3856ad364e35_6.1.7601.17514_none_ecd56c86c0325d51
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-0000044a_31bf3856ad364e35_6.1.7601.17514_none_fe928bb6b4cb1269
Нужно сделать так, чтобы в текстовом файле можно было концовку в названии папки заменить на звездочку или знак вопроса
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-0000044a_*
Другая проблемка, удаление файлов по списку с использованием масок
for /F "usebackq delims=" %%A in ("%Resources%\$_Deletes\Del_files.txt") do (
SET pfnm=%%A
IF "!pfnm:~0,1!"=="\" (
IF EXIST "%Mount%!pfnm!" attrib -R -S -H "%Mount%!pfnm!"
IF EXIST "%Mount%!pfnm!" DEL /S /Q "%Mount%!pfnm!"
)
)
Кусок файла Del_files.txt
\sources\*.dat
\sources\*.nls
\sources\*.exe
Тут маски работают, но удаление происходит и во вложенных папках, а нужно чтобы удалялось только в указанной
Например - \sources\*.exe
А сейчас удаляются файлы .exe и в папке \sources\recovery\
Чего нужно изменить для получения желаемого результата?
Столкнулся с такими проблемами:
Удаление папок по списку с использованием масок
Часть кода для удаления папок по списку
for /F "usebackq delims=" %%A in ("%Resources%\$_Deletes\PE_del_folders.txt") do (
SET pfnm=%%A
IF "!pfnm:~0,1!"=="\" (
IF EXIST "%Mount%!pfnm!" RD /S /Q "%Mount%!pfnm!"
)
)
Если в списке полное название папки и пути, то все удаляется отлично.
Кусок PE_del_folders.txt
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-00000449_31bf3856ad364e35_6.1.7601.17514_none_ecd56c86c0325d51
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-0000044a_31bf3856ad364e35_6.1.7601.17514_none_fe928bb6b4cb1269
Нужно сделать так, чтобы в текстовом файле можно было концовку в названии папки заменить на звездочку или знак вопроса
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-0000044a_*
Другая проблемка, удаление файлов по списку с использованием масок
for /F "usebackq delims=" %%A in ("%Resources%\$_Deletes\Del_files.txt") do (
SET pfnm=%%A
IF "!pfnm:~0,1!"=="\" (
IF EXIST "%Mount%!pfnm!" attrib -R -S -H "%Mount%!pfnm!"
IF EXIST "%Mount%!pfnm!" DEL /S /Q "%Mount%!pfnm!"
)
)
Кусок файла Del_files.txt
\sources\*.dat
\sources\*.nls
\sources\*.exe
Тут маски работают, но удаление происходит и во вложенных папках, а нужно чтобы удалялось только в указанной
Например - \sources\*.exe
А сейчас удаляются файлы .exe и в папке \sources\recovery\
Чего нужно изменить для получения желаемого результата?