批处理文件删除 - 找不到

Batch File Del - Could Not Find

我有两个命令。第一个工作得很好,但第二个没有。我一直收到错误 "Could Not Find...",即使该文件确实存在。为什么 del 不起作用,而 echo 会起作用?我正在尝试删除该路径中扩展名为 .jpg 的所有文件。

forfiles /p "C:\Users\hi\Desktop\test" /m *.jpg /d -1 /c "cmd /c echo @path @fdate"
pause

forfiles /p "C:\Users\hi\Desktop\test" /m *.jpg /d -1 /c "cmd /c del @path @srchmask"
pause

为什么 del 不行,而 echo 可以?

echo 只会输出你告诉它的任何内容。

forfiles /p "C:\Users\hi\Desktop\test" /m *.jpg /d -1 /c "cmd /c del @path @srchmask"

以上命令不正确。没有为 to forfiles 命令定义名为 @srchmask 的 "Command Variable":

Command Variables:
  @file    The name of the file.
  @fname   The file name without extension.                
  @ext     Only the extension of the file.                  
  @path    Full path of the file.
  @relpath Relative path of the file.          
  @isdir   Returns "TRUE" if a file type is a directory,
           and "FALSE" for files.
  @fsize   Size of the file in bytes.
  @fdate   Last modified date of the file.
  @ftime   Last modified time of the file.

来源forfiles.

您已经将 /m *.jpg 指定为 forfiles 命令的 "searchmask",所以我不确定您打算用 @srchmask 做什么。您可以尝试将其删除...

您还应该阅读 del 的语法,以防您需要一些其他选项而不是 @srchmask...


进一步阅读