我有一个单行批处理命令,按日期对文件进行排序,然后删除除最后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文件中运行的想法都将非常感激。
答案 0 :(得分:1)
批处理文件中需要%% A。我将原始批处理文件代码更改为键入而不是删除
for /f "skip=4 delims=" %%A in ('dir /a:-d /b /o:-d /t:c *.jpg 2^>nul') do type "%%A"
因为我不想删除我的文件。