Board logo

标题: [文本处理] [已解决]cmd批处理for 怎么不取最后一列? [打印本页]

作者: Limitstars    时间: 2024-3-20 16:33     标题: [已解决]cmd批处理for 怎么不取最后一列?

本帖最后由 Limitstars 于 2024-3-20 17:35 编辑

想用wmic提取进程路径再赋值到变量中
但是会把文件名也一起提取
cd就用不了
想问问怎么去掉最后一列的文件名
之前有查过但是根本看不懂
求一个看得懂的详解
(刚开始学批处理所以很菜qwq)
源代码:
  1. @echo off
  2. set d=
  3. for /f "skip=1 tokens=*" %%i in ('"wmic process where name="studentmain.exe" get executablepath"') do set d=%%i&goto :break
  4. :break
  5. echo %d%
  6. pause
复制代码

作者: Batcher    时间: 2024-3-20 16:43

回复 1# Limitstars
  1. @echo off
  2. set "ProcessFolder="
  3. for /f "skip=1 tokens=*" %%i in ('"wmic process where name="studentmain.exe" get executablepath"') do (
  4.     set "ProcessFolder=%%~dpi"
  5.     goto :break
  6. )
  7. :break
  8. echo,%ProcessFolder%
  9. pause
复制代码

作者: Batcher    时间: 2024-3-20 16:45

参考for命令教程第6页:
http://bbs.bathome.net/thread-31727-1-1.html






欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2