2010-09-17 105 views
0

,如果我有一個具有以下一個.txt:批處理文件添加字符

2005050「2005年2月19日」
2005060「2005年3月1日」
2005070「2005年3月11日「
2005080‘2005年3月21日’
2005090‘2005年3月31日’

有批處理文件的方式來閱讀,總是在7

字符的末尾添加巴紐

例如。

2005050.png 「2005年2月19日」
2005060.png 「2005年3月1日」
2005070.png 「2005年3月11日」
2005080.png 「2005年3月21日」
2005090.png「2005年3月31日」

+0

你想讓批處理文件更新文本文件,還是創建一個新的文本文件? – LittleBobbyTables 2010-09-17 00:22:36

+0

在新的txt文件中 – steven 2010-09-17 00:25:33

回答

3

該批處理文件將在第一個空格處拆分每行,並在拆分之前將.png附加到字符串。該腳本讀取來自infile.txt的行並輸出到outfile.txt。

@echo off 
echo. > outfile.txt 
for /f "tokens=1*" %%i in (infile.txt) do echo %%i.png %%j >> outfile.txt 

更新

或者刪除outfile.txt第一....

@echo off 
del /q /f outfile.txt 
for /f "tokens=1*" %%i in (infile.txt) do echo %%i.png %%j >> outfile.txt 

另一個更新

只需添加新記錄outfile.txt做一些像......

@echo off 
for /f "tokens=1*" %%i in (infile.txt) do (
    find "%%i.png %%j" outfile.txt > nul 
    if errorlevel 1 then (
     echo %%i.png %%j >> outfile.txt 
    ) 
) 
+0

echo。 > outfile.txt不是必需的。它會在outfile.txt中創建第一個空行 – DmitryK 2010-09-17 00:32:35

+0

我把它放進去以確保outfile.txt在for循環開始附加到它之前是空白的。我可以使用del來確保它不在那裏。 – 2010-09-17 00:35:54

+0

這就是我離開電腦幾分鐘所得到的:)好的回答 – LittleBobbyTables 2010-09-17 00:37:32

0

我的答案失敗:我沒有嘗試,但我不能讓SET內的工作

@echo off 

set str1=ooo 
set str2=ppp 

for /f "tokens=*" %%a in ('type testprog.txt') do (

    set str=!%%a! 
    echo %%str:~0,7%%.png %%str:~-5,14%% >> tempprog.txt 

) 

move tempprog.txt testprog.txt 
start testprog.txt 

也許有人可以編輯工作版本,因爲我想看什麼 我做錯了...