Jez*_*Jez 5 windows for-loop cmd batch-file
我已经看到了如何使用遍历目录的批处理文件并处理与通配符表达式匹配的各种文件的示例,例如:
FOR %%f IN (*.ext) DO (
ECHO Found ext file %cd%\%%f
)
Run Code Online (Sandbox Code Playgroud)
以上内容仅匹配.ext当前目录中的文件.但是如果我只想匹配一个确切的文件名,如果它存在于该目录中呢?我想要的东西:
FOR %%f IN (someFile.ext) DO (
ECHO Found our file name in %cd%
)
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不起作用; 该FOR命令将"somefile.ext"解释为字符串,并始终运行FOR循环一次.如何尝试匹配当前目录中的确切文件名,没有通配符?
Windows 需要一个“通配符”表达式才能使FOR循环按预期运行。因此,您可以提供这样的表达式,同时可能通过通配符匹配额外的文件,并使用额外的IF语句将它们过滤掉:
FOR %%f IN (somefile.ext*) DO (
IF /I "%%f"=="somefile.ext" (
ECHO Found somefile.ext in
ECHO dir: %cd%
ECHO.
)
)
Run Code Online (Sandbox Code Playgroud)
...或者只是IF首先使用一条语句来检查文件是否存在:
IF EXIST somefile.ext (
ECHO Found somefile.ext in
ECHO dir: %cd%
ECHO.
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
570 次 |
| 最近记录: |