标题: [其他] 批处理WMIC中一个空格的区别 [打印本页]
作者: lxzzr 时间: 2009-4-13 10:19 标题: 批处理WMIC中一个空格的区别
先看段代码:
- @echo off
- for /f "usebackq skip=1 delims=" %%i in (
- `"wmic path Win32_Service where name^='alg' get StartMode"`
- ) do (
- echo %%i
- )
- pause>nul
复制代码
这个没有什么问题,正确显示了:Disabled
再看个:
- @echo off
- for /f "usebackq skip=1 delims=" %%i in (
- `"wmic path Win32_Service where name ^='alg' get StartMode"`
- ) do (
- echo %%i
- )
- pause>nul
复制代码
结果显示:无效动词。
这个是怎么回事呢?是转义字符^引起的吗?
作者: leaparde 时间: 2009-4-13 11:13
- wmic path Win32_Service where name='alg' get StartMode
复制代码
单独用此语句测试,在等号前不加空格显示成功,加了空格之后提示无效动词,应该与转义字符无关。
作者: zqz0012005 时间: 2009-4-13 11:30
不放在for中也一样。下面会出现同样的错误:
wmic path Win32_Service where name ='alg' get StartMode
wmic path Win32_Service where name = 'alg' get StartMode
可能是wmic对语法要求比较严格。
作者: zqz0012005 时间: 2009-4-13 11:32
我刚刚看到没人发帖啊,怎么我才发就看到有了,时间还是11:13 ?
作者: zqz0012005 时间: 2009-4-13 12:29
将where从句括起来就没问题了:- wmic path Win32_Service where (name = 'alg') get StartMode
- wmic path Win32_Service where "name = 'alg'" get StartMode
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |