如何在BAT文件中引用带有空格的路径变量?

时间:2015-09-28 14:05:00

标签: batch-file

我看到了其他一些帖子,但无法让它发挥作用。

我在.bat文件中使用这一行

for /f %%i in ('dir /b /s *.inf') do pnputil.exe -i -a %%i

我遇到的问题是我必须运行此脚本的路径,名称中有一个Space。 (例如C:\ Windows 10)

%i变量获取每个INF文件的完整路径,类似于c:\ windows 10 \ driver folder \ file.inf

当pnputil命令运行时,我只会遇到大量错误,它只引用C:\ Windows并在第一个空格后丢弃所有内容。

我尝试将整个pnputil命令放在单引号和双引号中,但它没有帮助。我也尝试将最后一个%i放在单引号和双引号中,但这也无济于事。

有人能说明如何让最后一个%i变量与其中的空间一起工作吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

for /f "delims=" %%i in ('dir /b /s *.inf') do pnputil.exe -i -a "%%~fi"

它是命令行实用程序接受一个参数的引用字符串的标准。 虽然如果它没有那样工作,你也可以尝试短途径:

for /f "delims=" %%i in ('dir /b /s *.inf') do pnputil.exe -i -a %%~fsi