无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3062|回复: 3
打印 上一主题 下一主题

CMD下遇到带空格的问题,求教一下如何避免

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-16 18:20:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 编辑 ]
2#
发表于 2012-1-16 20:34:19 | 只看该作者
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

试试
回复

使用道具 举报

3#
发表于 2012-1-19 09:23:00 | 只看该作者
同意楼上意见,在有空格的目录和文件名加上双引号就行了。
回复

使用道具 举报

4#
 楼主| 发表于 2012-1-19 12:23:42 | 只看该作者

回复 #3 willsion 的帖子

加上双引号是可以解决路径检查,但是rundll32.exe程序无法执行带双引号的参数,所以在这里路径是不能加双引号的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 06:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表