2012-09-08 96 views
0

您好,首先感謝您花時間閱讀本文。將文件名寫入第一行的批處理文件

我想寫一個簡單的批處理文件,將文件夾中的每個文本文件做一件事。該文本文件具有以下格式:

Format of txt files: 
##### [delimeter "tab"] ##### 
##### [delimeter "tab"] ##### 
##### [delimeter "tab"] ##### 
.... 
EOF 

我需要將一行作爲標題添加到文件夾中的每個文件。標題應該由文件名的一部分組成。文件名將始終有2-3個字母和3-5個數字。我需要附加x和y的數字。

For instance for 
File CJF0185.PRN 

0185X [delimeter "tab"] 0185Y 
##### [delimeter "tab"] ##### 
##### [delimeter "tab"] ##### 
##### [delimeter "tab"] ##### 
.... 
EOF 

到目前爲止,我只能夠將文本添加到我知道的名字單個文件的第一行。

回答

0
@echo off 
setlocal enableDelayedExpansion 
for %%F in (*.txt) do (
    for /f "delims=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" %%n in ("%%~nF") do (
    >%%F.new echo %%nX %%nY 
    >>%%F.new type %%F 
    move /y %%F.new %%F 
) 
) 

批處理腳本中的第一個ECHO語句中有一個製表符硬編碼,但我不確定此網站是否保留製表符。沒有已知的方法可以批量編程生成製表符。

+2

我已經把TAB字符放到TAB名下的機器範圍內的環境變量中,所以無論我什麼時候需要批量使用%TAB%。它可能不是程序化的,但它非常方便。 –

+0

@JamesK - 我喜歡這樣:-) – dbenham

相關問題