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

[文本处理] [已解决]批处理for命令tokens能提取倒数第一段吗?

本帖最后由 asd821089612 于 2011-7-23 13:34 编辑

学习了for 命令,想问一个问题
如果指定delims=\ 想要截取每行的最后一节吗,该怎么写命令?
nothing's gonna change
and I've never changed

本帖最后由 CrLf 于 2011-7-22 21:52 编辑

楼主举的这个例子真是太...巧了
以 \ 为分隔符取末尾字符时,可以利用 %%~nxa:
  1. @echo off
  2. set "str=123\abc\QWER\!@#$\test   "
  3. for /f "delims=" %%a in ("%str%") do echo %%~nxa
  4. pause
复制代码
不过尾部的空格会被去掉,解决方法是让它变得更像文件名...
  1. @echo off
  2. set "str=123\abc\QWER\!@#$\test   "
  3. for /f "delims=" %%a in ("%str%.$") do echo @%%~na@
复制代码
1

评分人数

    • tmplinshi: “%str%.$”。上次我忽略了末尾空格会被去掉 ...技术 + 1

TOP

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

楼主举的这个例子真是太...巧了
以 \ 为分隔符取末尾字符时,可以利用 %%~nxa,不过尾部的空格会被去掉

还是不太懂,这个%%~nxa是什么东西,没见过
我原来有一个txt文件,里面装了一大堆文件的完整目录,想提出文件名,所以才这么问

那以后如果分隔符不是\ 那又该怎么办
nothing's gonna change
and I've never changed

TOP

3楼发的网站也看过了,其中是一种方法是将分隔符全部改为\  然后再用  %%~nxa  有什么别的办法不用这么麻烦?
nothing's gonna change
and I've never changed

TOP

4# asd821089612


请在顶楼给出部分数据以便测试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

还是不太懂,这个%%~nxa是什么东西,没见过
我原来有一个txt文件,里面装了一大堆文件的完整目录,想提出文件名,所以才这么问

那以后如果分隔符不是\ 那又该怎么办
asd821089612 发表于 2011-7-22 21:58


%%~nxa就是你想要的文件名啊。FOR中会自动识别文件名格式的多学习FOR命令哦 不过教学中是以%%I为例,他们是以%%a为例区别在这呵
%%~nxI和%%~nxa是不是很像啊
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 asd821089612 于 2011-7-23 08:24 编辑

懂了,又增长了一点知识
那如果分隔符不是\ 除了我五楼提出的方法,还有什么方法呢
比如一个文本文件
  1. aaa'ddd'ttt'ggg
  2. eeew'fff
复制代码
要怎么提取ggg和fff呢
nothing's gonna change
and I've never changed

TOP

本帖最后由 mxxcgzxxx 于 2011-7-23 13:13 编辑

8# asd821089612


由于FOR/F对读取的列要手工设定,对于未知列数是无法自动读取到的,
还有一个方法就是双FOR套
第一个FOR 读行
第二个FOR分列读这行取值,保留最后一个值就行了
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

嗯,这样确实是可以的,解决了,谢谢
nothing's gonna change
and I've never changed

TOP

返回列表