我有一个.txt文件,我遍历每一行并假脱机到另一个文件。好吧到目前为止没问题。但我不想假脱机线,有以下标准:
它们包含更多斜杠。找到最后一个斜线。在此之后,搜索字符串的其余部分。***(* =通配符)。如果没有找到,请不要假脱机,否则假脱机。
输入文件内容,例如:
c:/abc/abc/
c:/abc/abc/test.txt
c:/eee/
c:/eee/test.cfg
c:/test/abc/test/xxx/bbb/ccc/aaa/test.txt
c:/test/abc/test/xxx/bbb/ccc/aaa/
输出应如下所示:
c:/abc/abc/test.txt
c:/eee/test.cfg
c:/test/abc/test/xxx/bbb/ccc/aaa/test.txt
这些线条不是静态的,应该删除。所以我想找到最后一个斜线,并在那之后全部拿走,看看是否有最后的东西是“。***”如果是这样的话,请不要回声
我不想使用其他工具。必须通过本机命令行功能来完成。
也许有人可以帮助我。
代码:
>OUTPUT.txt (
FOR /F "usebackq delims=" %%I IN ("FILE.txt") DO (
set "line=%%I"
setlocal enabledelayedexpansion
rem DO SOMEHTING HERE I DON`T KNOW HOW TO DO
echo(!line!)
)
)
答案 0 :(得分:0)
只需使用findstr
在一行中执行此操作,其正则表达式模式(\....$
表示所有字符串以.
结尾,后跟3个字符):
findstr /R \....$ FILE.txt
结果:
c:/abc/abc/test.txt
c:/eee/test.cfg
c:/test/abc/test/xxx/bbb/ccc/aaa/test.txt