Batch file 如何在BAT文件中引用带有空格的path变量?

Batch file 如何在BAT文件中引用带有空格的path变量?,batch-file,Batch File,我在thsi上看到了一些其他帖子,但没能让它发挥作用 我在.bat文件中使用这一行 for /f %%i in ('dir /b /s *.inf') do pnputil.exe -i -a %%i 我遇到的问题是,我必须在名称中有空格的路径中运行此脚本。(例如C:\Windows 10) %i变量获取每个INF文件的完整路径,类似于c:\windows 10\driver folder\file.INF 当pnputil命令运行时,我只得到了大量错误,它只引用了C:\Windows并在第一

我在thsi上看到了一些其他帖子,但没能让它发挥作用

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

for /f %%i in ('dir /b /s *.inf') do pnputil.exe -i -a %%i
我遇到的问题是,我必须在名称中有空格的路径中运行此脚本。(例如C:\Windows 10)

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

当pnputil命令运行时,我只得到了大量错误,它只引用了C:\Windows并在第一个空格后删除了所有内容

我试着把整个pnputil命令放在单引号和双引号中,但是没有用。我还尝试将最后的%I用单引号和双引号括起来,但也没有用

有人能告诉我如何让最后一个%I变量处理其中的空间吗

谢谢

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

只需在路径周围加上引号:
“%%i”
关于这一点有很多类似的问题,为什么不使用搜索呢?