2010-09-15 147 views
0

我有一個名爲named.txt的txt文件有沒有辦法創建一個批處理文件,從name.txt中讀取每行的每個字母2到7個字母,然後忽略其餘的字符並將其輸出到名爲name2的不同txt文件中。文本。比如我有這樣的txt文件:批文件從文本文件中讀取特定的字母?

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

和批處理文件將創建這樣一個新的txt文件:

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

+1

是什麼操作系統您使用卓越網上的ressource? Windows,類Unix? – 2010-09-15 19:09:42

+0

我正在使用Windows 7 – steven 2010-09-15 19:12:31

回答

0

http://ss64.com/nt/syntax.html

@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 
+0

非常感謝你!工作很好,但有一個問題。當我再次運行時,它會重複所有的名字。有沒有辦法停止重複名稱。它顯示2010060.png 2010061.png 2010062.png 2010063.png2010060.png 2010061.png 2010062.png 2010063.png – steven 2010-09-16 20:11:58

+0

我不太讓你通過重複的名字是什麼意思。這個非常簡單的批處理需要你的input.txt並生成一個output.txt文件...如果這些名字在input.txt中重複出現,這是一個恥辱。您可能想要在使用for/f中的input.txt之前自動創建input.txt,如下所示:dir/b G * .png> input.txt。 – 2010-09-22 00:43:11

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

只有當文件名全部爲14個字符時,15-18部分才能保證獲得擴展名。 – Instantsoup 2010-09-15 19:13:22

+0

除非您使用cygwin或類似軟件安裝,否則Plus切不可用於Windows。 – 2010-09-15 19:46:51