[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
利用for提取
  1. @echo off
  2. for /f "skip=1 delims=" %%a in ('wmic process where "name='qq.exe'" get ExecutablePath') do set "var=%%~dpa"
  3. set "var=%var:~,-1%"
  4. echo %var%
  5. echo.&pause
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

回复 9楼 的帖子

Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

单独运行一句,把结果贴出来看看
wmic process where "name='qq.exe'" get ExecutablePath
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

应该没问题啊
在wmic前面加上@再试试
for /f "skip=1 delims=" %a in ('@wmic process where "name='qq.exe'" get ExecutablePath') do echo %a
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

XP下的for会自动忽略空行的。就算是for没有过滤空行,最后也应该是set "var=",而不会是set "var=C:\"
难道是Vista下的for结果不同?
而且你的if not defined var set "var=%%~dpa"也达不到过滤空行的目的
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

楼主今天上线为什么不回复呢?
是Vista系统的测试一下直接在CMD中运行以下语句:
  1. for /f "skip=1 delims=" %a in ('wmic process where "name='qq.exe'" get ExecutablePath') do set "var=%~dpa"
复制代码
我的XP SP3只有一行结果:set "var=E:\Program Files\Tencent\QQ\"
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

楼上的试试直接运行
for /f "skip=1 delims=" %a in ('wmic process where "name='qq.exe'" get ExecutablePath') do echo %~dpa
看看显示什么。难道Vista下的for命令结果真的不同?
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表