Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 从文本文件中读取特定字母的批处理文件?_Windows 7_Batch File - Fatal编程技术网

Windows 7 从文本文件中读取特定字母的批处理文件?

Windows 7 从文本文件中读取特定字母的批处理文件?,windows-7,batch-file,Windows 7,Batch File,我有一个名为named.txt的txt文件。有没有办法创建一个批处理文件,从name.txt的每一行读取每一个字母2到7个字母,忽略其余的,并将其输出到另一个名为name2.txt的txt文件中。例如,我在txt文件中有: G2010060sample.png G2010061sample.png G2010062sample.png G2010063sample.png 批处理文件将创建一个新的txt文件,如下所示: 2010060.png 2010061.png 2010062.png 20

我有一个名为named.txt的txt文件。有没有办法创建一个批处理文件,从name.txt的每一行读取每一个字母2到7个字母,忽略其余的,并将其输出到另一个名为name2.txt的txt文件中。例如,我在txt文件中有:

G2010060sample.png
G2010061sample.png
G2010062sample.png
G2010063sample.png

批处理文件将创建一个新的txt文件,如下所示:

2010060.png
2010061.png
2010062.png
2010063.png

cut-b2-7,15-18outfile.txt
cut -b 2-7,15-18 < infile.txt > outfile.txt

优秀的在线资源


您使用的是什么操作系统?Windows,类似Unix?只有当文件名都是14个字符长时,15-18部分才能保证获得扩展名。除非您使用cygwin或类似工具安装,否则Windows上不提供Plus cut。非常感谢!!效果很好,但有个问题。当我再次运行它时,它会重复所有的名称。有没有办法停止重复这些名字。它显示了2010060.png 2010061.png 2010062.png 2010063.png 2010060.png 2010061.png 2010062.png 2010063.pngI不太明白重复名称的意思。这个非常简单的批处理接受您的input.txt并生成output.txt。。。如果名称在input.txt中重复,那就太可惜了。在for/f中使用input.txt之前,您可能希望使用如下行自动创建input.txt:dir/b G*.png>input.txt。
@echo off
if exist output.txt del output.txt
for /f "delims=" %%i in (input.txt) do call :ParseLine %%i
goto :eof


:ParseLine
set line=%1
set line=%line:~1,7%
echo %line%.png>> output.txt
goto :eof