搜索包含空格的文件名

搜索包含空格的文件名

我有一个批处理文件,可以帮助我从共享文件夹安装多个软件。

它可以很好地与名称不包含空格的软件配合使用,但我需要它与包含空格的软件配合使用。

此代码运行正常,因为软件名称(firefox.exe)中没有空格:

for /f %%a in ('dir /s /b \\sharedfolder\*firefox*.exe') do %%a

如果我尝试使用名称中有空格的软件运行相同的代码,它不起作用,

例如for /f %%a in ('dir /s /b \\sharedfolder\mozzila *firefox* 36.0.4.exe') do %%a

请看一下软件名称,你就会明白我的意思。

答案1

尝试这样的操作:

for /f %a in ('/s /b \\sharedfolder\*firefox*.exe') do "%a"

您似乎将您的%'s 加倍了,并且需要引用变量才能使其工作。

答案2

rem    ↓↓↓↓↓↓↓↓↓
for /f "delims=" %%a in ('dir /s /b "\\sharedfolder\mozzila *firefox* 36.0.4.exe"') do (
    rem  ↓   ↓  note double quotes  ↑                                           ↑    
    ECHO "%%a"
)

    

解释

  • "delims="选项抑制dir /B输出的标记化;
  • 双引号如果单个参数包含空格,你仍然可以将其作为一个项目传递用“引号”括起来 - 这对于长文件名很有效
  • ECHO "%%a"ECHO:操作命令仅仅为了调试目的而显示;请尽快删除“调试”一词!

相关内容