如何指定特定文件夹?例如在“c:\ temp with spaces”中?
此命令有效,但仅在与执行文件相同的文件夹中:
for /f "skip=7 eol=: delims=" %%F in ('dir /b /o-d *.txt') do @del "%%F"
但是我如何指定某个文件夹?这不起作用:
for /f "skip=3 eol=: delims=" %%F in ('dir /b /o-d "c:\temp\ with spaces*.txt"') do @del "%%F"
它在当前目录中寻找txt文件,如果.bat文件在另一个文件夹中,则它不起作用
帮助将不胜感激
答案 0 :(得分:1)
正如您可以看到的那样,手动运行dir /b
而未指定/s
仅列出没有完整路径的文件名,因此@del "%%F"
会尝试从当前文件夹中删除该文件。
只需在del
中指定完整路径:
@del "c:\temp\%%F"
答案 1 :(得分:1)
只需更改到所需的文件夹
即可pushd "x:\some folder\with\files" && (
for /f "skip=7 eol=: delims=" %%F in ('dir /b /o-d *.txt') do @del "%%F"
popd
)