找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27660|回复: 6

[文本处理] 批处理for命令怎样去除变量中的空格?

[复制链接]
发表于 2015-11-11 21:29:39 | 显示全部楼层 |阅读模式
例如一个文本:
2015   12:02   path: windows1
2015   12:04   path: windows2
2015   12:05   path: windows3
  1. for /f "tokens=3 delims=:" %%i in (1.txt) do (
  2. echo %%i
  3. )
  4. pause
复制代码
如果以:做分隔符,这样的代码会在变量前面有一个空格,如果去掉这个空格
发表于 2015-11-11 21:47:03 | 显示全部楼层
  1. for /f "tokens=*" %%i in (" test ") do echo;%%~ni
复制代码

评分

参与人数 1技术 +1 收起 理由
freesoft00 + 1 感谢!

查看全部评分

 楼主| 发表于 2015-11-11 21:53:33 | 显示全部楼层
  1. windows1
  2. windows2
复制代码
我只要取得最后面的字符,但是取回来的变量前面有一个空格,而我又不想用空格作为分割,想用:

tokens=*就全显示了吧?
发表于 2015-11-11 22:49:29 | 显示全部楼层
  1. @echo off
  2. (for /f "tokens=3 delims=:" %%i in (1.txt) do (
  3.     for /f "tokens=*" %%j in ("%%i") do (
  4.         echo,%%~nj
  5.     )
  6. ))>2.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
freesoft00 + 1 感谢

查看全部评分

发表于 2015-11-11 22:50:18 | 显示全部楼层
  1. sed "s/.*: //" 1.txt > 2.txt
复制代码
发表于 2015-11-11 22:50:45 | 显示全部楼层
  1. gawk "{print $NF}" 1.txt > 2.txt
复制代码
发表于 2015-11-11 22:56:51 | 显示全部楼层
  1. powershell -c "Get-Content 1.txt | %{$_.split()[-1]}" > 2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 09:14 , Processed in 0.022004 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表