如何刪除僅以2015和2014開頭的文件或文件夾?如何刪除文件和文件夾
這是我迄今爲止,它會刪除下C:\Temp
文件夾中的所有文件和文件夾
@TITLE =
@ECHO ON
SET Folder="C:\Temp"
CD /D %folder%
FOR /F "Delims=" %%i IN ('DIR /B') DO (rmdir "%%i" /S/Q || DEL "%%i" /S/Q)
PAUSE
如何刪除僅以2015和2014開頭的文件或文件夾?如何刪除文件和文件夾
這是我迄今爲止,它會刪除下C:\Temp
文件夾中的所有文件和文件夾
@TITLE =
@ECHO ON
SET Folder="C:\Temp"
CD /D %folder%
FOR /F "Delims=" %%i IN ('DIR /B') DO (rmdir "%%i" /S/Q || DEL "%%i" /S/Q)
PAUSE
您可以使用for
循環遍歷目錄樹; for /R /D
枚舉所有子目錄遞歸和for /R
返回文件:
pushd "C:\Temp"
for /R /D %%I in ("2014*" "2015*") do (
rmdir /Q "%%~fI"
)
for /R %%I in ("2014*" "2015*") do (
del /Q "%%~fI"
)
popd
或者你讓dir /B /S
回報所有項目,文件和目錄,並解析其輸出與for /F
循環:
pushd "C:\Temp"
for /F "eol=| delims=" %%I in ('
dir /B /S "2014*" "2015*"
') do (
2> nul rmdir /Q "%%~fI" || del /Q "%%~fI"
)
popd
的2>nul
重定向如果當前項目是文件,則避免錯誤消息由rmdir
返回。
@TITLE =
@ECHO ON
SET Folder="C:\Temp"
CD /D %folder%
FOR /F %%I IN ('DIR /B') DO (
SET FOLDER=%%I
SET FOLDER=%FOLDER:~0,4%
IF %FOLDER% == 2015 GOTO Delete
IF %FOLDER% == 2014 GOTO Delete
GOTO End
:Delete
RMDIR "%%I" /S /Q || DEL "%%I" /S /Q
:End
)
PAUSE
%文件夾:〜0.4%,意味着你採取的第4變量'FOLDER'的字符
'goto'和標籤內的'for'循環?這不會運行。 – Stephan
'del/f/s 2015 *'後面跟着'del/f/s 2014 *'也許? (在C:/ temp中時) –
'dir'可以與通配符一起工作:'for ...('dir/b 2014 * 2015 *')...''也可以'/ s'。 – Stephan
@Stephan, - 感謝它的工作 – 0m3r