标题: [文本处理] 批处理for命令delims怎么仅指定制表符? [打印本页]
作者: 857185187 时间: 2019-10-18 12:11 标题: 批处理for命令delims怎么仅指定制表符?
默认的Delims设置是同时用制表符和空格当作分割符号,但是有些路径包含空格会被分割,如何只分割4个空格的那个制表符?
我是用在注册表上面的, reg query返回的就是4个空格,而不是制表符,delims默认就会把注册表键值数据中的路径中的空格给分割开,但是delims=制表符 就会不作分割,delims=4个空格也是不作分割
作者: terse 时间: 2019-10-18 12:39
直接设置为分隔符就阔以- @echo off
- for /f "tokens=1-4 delims= " %%a in (1.TXT) do echo;"%%a" "%%b" "%%c" "%%d"
- pause
复制代码
作者: 857185187 时间: 2019-10-18 13:56
回复 2# terse
怎么在TXT中或CMD窗口中输入制表符?
作者: Batcher 时间: 2019-10-18 14:05
回复 3# 857185187
txt里面直接按tab键就行了
作者: 857185187 时间: 2019-10-18 14:13
回复 2# terse
我又看了下,我是用在注册表上面的, reg query返回的就是4个空格,而不是制表符,delims默认就会把注册表键值数据中的路径中的空格给分割开,但是delims=制表符 就会不作分割,delims=4个空格也是不作分割
作者: Batcher 时间: 2019-10-18 14:29
回复 5# 857185187
用冒号做为分隔符,取第一列的最后一个字符加上第二列,这样就能得到路径了。
作者: 857185187 时间: 2019-10-18 14:37
回复 6# Batcher
主要是reg query命令不返回冒号,我就想只分割4个空格的,不分割1个空格的
作者: Batcher 时间: 2019-10-18 14:49
回复 7# 857185187
你的想法delims是不支持的。C:\Windows 这里的冒号可以用吗?
作者: zaqmlp 时间: 2019-10-18 15:32
- @echo off
- set info=互助互利,支付宝扫码头像,感谢打赏
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- for /f "tokens=1,2*" %%a in ('reg query "HKLM\pe_activtionstore" /s /f "C:\Windows\SystemApps"^|findstr "\<REG_"') do (
- echo;%%a
- echo;%%c
- )
- echo;%info%
- pause
复制代码
作者: terse 时间: 2019-10-18 16:44
回复 7# 857185187
这个结果对吗- @echo off
- for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"') do (
- for /f "tokens=*" %%c in ("%%b") do echo "%%c"
- )
- pause
复制代码
作者: 857185187 时间: 2019-10-19 12:01
回复 8# Batcher
delims不能区别一个空格和多个空格,那么环境变量编辑支持么?我想用%str: =;%把多个空格的替换成;号,再用"delims=;"
作者: Batcher 时间: 2019-10-21 09:01
回复 11# 857185187
不知道你说的环境变量编辑是什么
%str: =;% 字符串替换是可以的
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |