批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文本处理] 批处理for命令delims怎么仅指定制表符?

本帖最后由 857185187 于 2019-10-18 14:34 编辑

默认的Delims设置是同时用制表符和空格当作分割符号,但是有些路径包含空格会被分割,如何只分割4个空格的那个制表符?
我是用在注册表上面的, reg query返回的就是4个空格,而不是制表符,delims默认就会把注册表键值数据中的路径中的空格给分割开,但是delims=制表符 就会不作分割,delims=4个空格也是不作分割


附件: 您需要登录才可以下载或查看附件。没有帐号?注册

直接设置为分隔符就阔以
  1. @echo off
  2. for /f "tokens=1-4 delims= " %%a in (1.TXT) do echo;"%%a" "%%b" "%%c" "%%d"
  3. pause
复制代码

TOP

回复 2# terse


    怎么在TXT中或CMD窗口中输入制表符?

TOP

回复 3# 857185187


    txt里面直接按tab键就行了
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

回复 2# terse

我又看了下,我是用在注册表上面的, reg query返回的就是4个空格,而不是制表符,delims默认就会把注册表键值数据中的路径中的空格给分割开,但是delims=制表符 就会不作分割,delims=4个空格也是不作分割

   
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

回复 5# 857185187


    用冒号做为分隔符,取第一列的最后一个字符加上第二列,这样就能得到路径了。
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

回复 6# Batcher


    主要是reg query命令不返回冒号,我就想只分割4个空格的,不分割1个空格的

TOP

回复 7# 857185187


    你的想法delims是不支持的。C:\Windows 这里的冒号可以用吗?
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢打赏
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. for /f "tokens=1,2*" %%a in ('reg query "HKLM\pe_activtionstore" /s /f "C:\Windows\SystemApps"^|findstr "\<REG_"') do (
  6.     echo;%%a
  7.     echo;%%c
  8. )
  9. echo;%info%
  10. pause
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
QQ: 956535081

TOP

回复 7# 857185187
这个结果对吗
  1. @echo off
  2. for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"') do (
  3.       for /f "tokens=*" %%c in ("%%b") do  echo "%%c"
  4. )
  5. pause
复制代码

TOP

回复 8# Batcher


    delims不能区别一个空格和多个空格,那么环境变量编辑支持么?我想用%str:    =;%把多个空格的替换成;号,再用"delims=;"

TOP

回复 11# 857185187


不知道你说的环境变量编辑是什么
%str:    =;% 字符串替换是可以的
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

返回列表