命令在命令行中运行,但不在BAT文件中运行

时间:2013-09-23 17:40:02

标签: windows batch-file cmd

我有一个单行批处理命令,按日期对文件进行排序,然后删除除最后10个之外的所有内容。当我在CMD窗口中运行它时,此命令运行正常。但是,当我将它放在BAT文件中时,我会收到错误。

命令(在CMD窗口中正常工作):

for /f "skip=10 delims=" %A in ('dir /a:-d /b /o:-d /t:c *.jpg ^2^>nul') do del %A

如果尝试在批处理文件中运行它,我会得到错误:

Q:\Testbk>test1
-d was unexpected at this time.

Q:\Testbk>for /f "skip=10 delims=" -d /b /o:-d /t:c *.jpg ^2^>nul") do del A

任何关于如何修复它以在BAT文件中运行的想法都将非常感激。

1 个答案:

答案 0 :(得分:1)

批处理文件中需要%% A。我将原始批处理文件代码更改为键入而不是删除

for /f "skip=4 delims=" %%A in ('dir /a:-d /b /o:-d /t:c *.jpg 2^>nul') do type "%%A"

因为我不想删除我的文件。