将x个最新文件保存在特定文件夹中的批处理文件

时间:2015-08-27 13:23:17

标签: batch-file delete-file

如何指定特定文件夹?例如在“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文件在另一个文件夹中,则它不起作用

帮助将不胜感激

2 个答案:

答案 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
)