标题: [文本处理] [已解决]批处理如何获取文本中每一行的倒数第三列字符串? [打印本页]
作者: fa1120ewja 时间: 2013-12-6 15:47 标题: [已解决]批处理如何获取文本中每一行的倒数第三列字符串?
本帖最后由 fa1120ewja 于 2013-12-9 17:29 编辑
test.txt
d:\FTP站点\app\xxx.txt
d:\data\公司站点\logs\xxx.txt
d:\data\客户站点\admin\xxx.txt
d:\backup\20131206\备份站点\SQL\xxx.txt
以\为分隔符,取每一行倒数第三列的字符串,如上的FTP站点,公司站点,客户站点,备份站点,不甚感激。
谢谢2楼apang同学。
作者: apang 时间: 2013-12-6 16:38
- @echo off
- for /f "delims=" %%a in (test.txt) do (
- for %%b in ("%%~dpa..") do echo,%%~nxb
- )
- pause
复制代码
作者: lifei259 时间: 2013-12-7 19:39
回复 2# apang
能不能说说这个用法的是什么原理
for %%b in ("%%~dpa..") do echo,%%~nxb)
作者: apang 时间: 2013-12-7 22:15
回复 3# lifei259
假设 %%a 值为 d:\backup\20131206\备份站点\SQL\xxx.txt
%%~dpa 值为 d:\backup\20131206\备份站点\SQL\
%%~dpa.. 表示上一级目录 d:\backup\20131206\备份站点
for %%b in ("d:\backup\20131206\备份站点") do echo,%%~nxb 获取该字串的文件名和扩展名
作者: PowerShell 时间: 2013-12-8 07:35
以\为分隔符,把字符串切割,然后取每一行倒数第三列的字符串,powershell代码- ('d:\data\客户站点\admin\xxx.txt' -split '\\')[-3]
复制代码
测试通过
作者: lifei259 时间: 2013-12-8 11:55
回复 4# apang
谢谢了。我就是看不明白【%~dpa..】,现在明白点了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |