标题: vista系统和XP系统的P处理命令是不一样的么?
[打印本页]
作者: guigui
时间: 2008-7-26 22:09
标题: vista系统和XP系统的P处理命令是不一样的么?
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install') do (
set QQPathL=%%a
set QQPathR=%%b
)
set QQPath=%QQPathL:~-1%:%QQPathR%
echo.
echo.
echo %QQPath%
echo.
echo.
这段代码在XP系统中运行是成功的 路径显示出来了
但同样的代码到vista系统下运行就出错了 难道2个系统的CMD命令有些是不通用的?
(vista下显示的是 “~-1QQPath“)
作者: HAT
时间: 2008-7-26 23:18
在vista中打开注册表,看看是不是有这个分支?
HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install'
作者: guigui
时间: 2008-7-27 13:00
嗯 我看过 的确有的
作者: slore
时间: 2008-7-27 13:01
貌似权限问题?UAC?
作者: guigui
时间: 2008-7-27 13:11
我用管理员身份运行也不行
作者: slore
时间: 2008-7-27 13:56
echo "%QQPathL%" "%QQPathR%"
什么结果?
作者: guigui
时间: 2008-7-27 14:13
结果是 "" ""
是空
作者: slore
时间: 2008-7-27 16:46
那就是原因拉。。。。
那%%a,%%b能显示出来麽?
作者: HAT
时间: 2008-7-27 19:56
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install') do (
set QQPathL=%%a
set QQPathR=%%b
echo %%a
echo %%b
)
set QQPath=%QQPathL:~-1%:%QQPathR%
echo %QQPath%
pause
Vista里面的结果贴出来看看
作者: guigui
时间: 2008-7-27 20:44
只显示了这个:
~-1QQPathR
奇怪了 我把HAT大哥的代码在XP下运行是好的嘛
[
Last edited by guigui on 2008-7-27 at 08:47 PM ]
作者: HAT
时间: 2008-7-27 20:52
能否把运行9楼的代码后的结果截图上来看看?
作者: pusofalse
时间: 2008-7-28 01:31
应该都一样,不然批处理爱好者谁还会用vista 。。。最新?的系统。
作者: guigui
时间: 2008-7-28 09:19
好像不让我发图片 估计我等级不够?
结果就是:
~-1QQPathR
请按任意键继续...
作者: HAT
时间: 2008-7-28 09:33
Vista运行这个命令的结果呢?
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install
作者: guigui
时间: 2008-7-28 11:38
显示正常的嘛
HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ
Install REG_SZ C:\Program Files\Tencent\QQ2008\
作者: guigui
时间: 2008-7-28 11:38
显示正常的嘛
HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ
Install REG_SZ C:\Program Files\Tencent\QQ2008\
作者: HAT
时间: 2008-7-28 11:41
XP上完整的结果肯定不是这个
作者: slore
时间: 2008-7-28 11:42
就2行……所以你不需要skip了
作者: guigui
时间: 2008-7-28 12:26
晕 我把skip=4 删掉后就显示正常了
作者: guigui
时间: 2008-7-28 12:53
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install
这是这段代码的结果
作者: fastslz
时间: 2008-7-28 13:01
@echo off
for /f "tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Tencent\QQ" /v "Install"^|find /i "Install"') do set "QQPath=%%b"
echo %QQPath%
pause
如果还不行
@echo off
for /f "usebackq tokens=2*" %%a in (`reg query "HKLM\SOFTWARE\Tencent\QQ" /v "Install"^|find "Install"`) do set "QQPath=%%b"
echo %QQPath%
pause
作者: guigui
时间: 2008-7-28 14:05
我只点了一下 怎么出来2篇
我把 skip去掉好像好了 谢谢各位大哥
我去找找看看 skip 什么意思
[
Last edited by guigui on 2008-7-28 at 02:21 PM ]
作者: HAT
时间: 2008-7-28 17:21
skip=n - specifies the number of lines to skip at the
beginning of the file.
作者: yangzhiyi
时间: 2008-7-28 18:40
今天刚试了下,在XP中正常的在vista系统中的结果真是不同的。
for /F "tokens=1-4 delims=," %%i in ('getmac /v /fo csv /nh^|find /v "断开"') do (
echo [%%~i]>>%file%
echo 描述=%%~j>>%file%
echo 物理地址=%%~k>>%file%
echo 媒体状态=%%~l>>%file%
echo.>>%file%
)
如果你的本地连接正常,得到的结果是 本地??
for /F "tokens=1-4 delims=," %%i in ('getmac /v /fo csv /nh') do (
echo [%%~i]>>%file%
echo 描述=%%~j>>%file%
echo 物理地址=%%~k>>%file%
echo 媒体状态=%%~l>>%file%
echo.>>%file%
)
这个就正常