Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file &引用;至于;特定文件的命令?_Batch File_For Loop_Cmd - Fatal编程技术网

Batch file &引用;至于;特定文件的命令?

Batch file &引用;至于;特定文件的命令?,batch-file,for-loop,cmd,Batch File,For Loop,Cmd,似乎我可以递归地使用FOR命令来搜索通配符,例如 FOR/R%F IN(*.ASM)DO@ECHO%F 这将成功打印出当前目录树中存在的所有扩展名为.ASM的文件 但是,如果我正在搜索特定的文件名,这根本不起作用: FOR/R%F IN(讲师3_code.ASM)DO@ECHO%F 对于工作目录树中存在的每个文件,后一个命令的输出似乎会打印一次\teache3\u code.ASM 有没有办法让这个命令按我希望的方式工作?非常简单: FOR /R %f IN (*.ASM) DO (if "%~

似乎我可以递归地使用
FOR
命令来搜索通配符,例如

FOR/R%F IN(*.ASM)DO@ECHO%F

这将成功打印出当前目录树中存在的所有扩展名为.ASM的文件

但是,如果我正在搜索特定的文件名,这根本不起作用:

FOR/R%F IN(讲师3_code.ASM)DO@ECHO%F

对于工作目录树中存在的每个文件,后一个命令的输出似乎会打印一次
\teache3\u code.ASM

有没有办法让这个命令按我希望的方式工作?

非常简单:

FOR /R %f IN (*.ASM) DO (if "%~nf"=="LECTURE3_CODE" ECHO %f)

完成了

这将适用于原始行-通配符是这里的关键

FOR /R %F IN (LECTURE3_CODE.AS?) DO @ECHO %F

如果在
if
命令之后使用
/i
开关来接受任何句子中的匹配,这将更加可靠。