[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理怎样截取系统返回值的字段?

for /f "tokens=2 delims=:" %%f in ('systeminfo^|find /i "OS 名称"') do set zcz=%%f
echo !zcz!
for /f "tokens=2* delims= " %%u in (!zcz!^|'find /i "Microsoft Windows"') do echo %%u

我想截取systeminfo命令中的Microsoft Windows XP字段,并且取消该返回值前的空格并显示,请问该代码的问题在哪里?

[ 本帖最后由 zc584267913 于 2010-5-22 13:14 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2
QQ:36868508

我systeminfo用不了,我就说说我的几个疑问。
"OS 名称"和"Microsoft Windows"用findstr /i /c:"OS 名称"这样的形式来查找要好一点
for /f "tokens=2 delims=:" %%f in ('systeminfo^|findstr /i /c:"OS 名称"') do echo %%f
努力学习,努力挣分

TOP

靠FOR语句直接清除空格清空格看来不行,我就是:~nx0文件格式来清理也失败了
只能用!zcz:~10!来截取了,虽然可以成功截取出来,不过够严谨
QQ:36868508

TOP

直接使用ver命令。。。
完整显示 Windows XP 的版本号:
  1. ver&pause
复制代码
显示 Windows XP:
  1. @echo off
  2. for /f "delims=[" %%a in ('ver') do echo.%%~na
  3. pause
复制代码
只显示版本号:
  1. @echo off
  2. for /f "tokens=2 delims=[" %%a in ('ver') do echo.[%%a
  3. pause
复制代码

[ 本帖最后由 hanyeguxing 于 2010-5-22 15:02 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 4楼 的帖子

不错的办法```学习了``
QQ:36868508

TOP

返回列表