我有一个文件夹树,像这样(这只是一个例子,在我的真实情况下会更深入):
C:\test
|
+---folder1
| foo bar.txt
| foobar.txt
|
+---folder2
| foo bar.txt
| foobar.txt
|
\---folder3
foo bar.txt
foobar.txt
Run Code Online (Sandbox Code Playgroud)
我的文件名称中有一个或多个空格,我需要对它们执行命令,所以我对 foo bar.txt 感兴趣,但对 foobar.txt 不感兴趣。
我试过(在批处理文件中):
for /r test %%f in (foo bar.txt) do if exist %%f echo %%f
Run Code Online (Sandbox Code Playgroud)
其中命令是简单的echo.
它不起作用,因为空间被跳过并且我没有得到任何输出。
这有效,但不是我需要的:
for /r test %%f in (foobar.txt) do if exist %%f echo %%f
Run Code Online (Sandbox Code Playgroud)
它打印:
C:\test\folder1\foobar.txt
C:\test\folder2\foobar.txt
C:\test\folder3\foobar.txt
Run Code Online (Sandbox Code Playgroud)
我尝试使用引号 (") 但它不起作用:
for /r test %%f in ("foo bar.txt") do if exist %%f echo %%f
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为引号仍包含在输出中:
C:\test\folder1\"foo bar.txt"
C:\test\folder2\"foo bar.txt"
C:\test\folder3\"foo bar.txt"
Run Code Online (Sandbox Code Playgroud)
小智 9
这个怎么样?
for /f "tokens=* delims=" %%a in ('dir "c:\test\foo bar.txt" /s /b') do (
echo %%a
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34263 次 |
| 最近记录: |