无忧启动论坛

标题: CMD下遇到带空格的问题,求教一下如何避免 [打印本页]

作者: ones    时间: 2012-1-16 18:20
标题: CMD下遇到带空格的问题,求教一下如何避免
IF "%PROCESSOR_ARCHITECTURE%" neq "x86" set CommonPath=%CommonProgramFiles(x86)%\
IF "%PROCESSOR_ARCHITECTURE%" equ "x86" set CommonPath=%CommonProgramFiles%\

ver|find "5.">nul && (rundll32 setupapi,InstallHinfSection _Install1.NT 128 %CommonPath%\111.inf)
ver|find "6.">nul && (pnputil.exe -i -a "%CommonPath%\111.inf" >nul 2>nul)

首先,这inf文件是没有任何问题的
在XP下执行,可以正常过去,rundll32最后面的参数是不能加双引号的,否则执行不了
在WIN7 X64位系统下,就遇到问题了,这个时候执行rundll32这行就会报错:此时不应有common
按照这个报错,肯定是因为没加双引号的问题,加了双引号就没有问题了,但是为什么会去执行这个命令呢?不是应该在前面ver|find "5"判断为否就不执行后面的命令了吗?怎么还去检查后面的命令呢?

各位有什么好方法避免此问题吗?难道要用call调用或goto跳转?有没有更方便的?

[ 本帖最后由 ones 于 2012-1-16 19:58 编辑 ]
作者: pznpt    时间: 2012-1-16 20:34
ver|find "5.">nul
if %errorlevel%==0 rundll32 setupapi,InstallHinfSection _Install1.NT 128 %CommonPath%\111.inf
ver|find "6.">nul
if %errorlevel%==0 pnputil.exe -i -a "%CommonPath%\111.inf" >nul 2>nul

试试
作者: willsion    时间: 2012-1-19 09:23
同意楼上意见,在有空格的目录和文件名加上双引号就行了。
作者: ones    时间: 2012-1-19 12:23
标题: 回复 #3 willsion 的帖子
加上双引号是可以解决路径检查,但是rundll32.exe程序无法执行带双引号的参数,所以在这里路径是不能加双引号的




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3