批次讀取文字檔案並將引號替換為變數到新檔案中

批次讀取文字檔案並將引號替換為變數到新檔案中

我有客戶披薩列表,已將其保存到資料庫中的 5 個單獨的 .txt 檔案中,格式如下:

Filename = 25Percent.TXT
"555-1211"
"555-1212"
"555-1223"

每個清單都是引號的電話號碼,每個清單的長度各不相同。

第一個問題
我有兩組變量,我想用 5 個文字檔案中的每個引號替換它們。
這兩個變數就像:

Var A = < Discount Pizza price for phone number is "
Var B = " 25 % >

我想運行一個批次文件,讀取文字檔案中的每一行並將以下內容寫入另一個文字文件,用變數替換引號:

New Filename = 25Percentfinished.TXT
< Discount Pizza price for phone number is "555-1211" 25 % >
< Discount Pizza price for phone number is "555-1212" 25 % >
< Discount Pizza price for phone number is "555-1223" 25 % >

然後我會重複30%.txt,35%.txt,40%.txt最後50%.txt文件。

第二個問題
我還想將 5 個新文件附加在一起

答案1

這是一個簡單的for循環:

for /f "tokens=*" %%a in (25Percent.txt) do (
    echo ^< Discount Pizza price for phone number is %%a 25 %%% ^>>>25Percentfinished.txt
)

參見for /?用法。這會逐行處理文件,將行讀入變數%%a並將修改後的行附加到另一個文件。和會用(making and )轉義<,因為它們在命令提示字元中具有特殊意義。被「轉義」了,因為它也是一個特殊字符,但不能像其他字符一樣被轉義。>^^<^>%%%%


您可以像這樣組合多個文字檔案:

copy file1.txt + file2.txt + file3.txt destination.txt

或者您可以使用循環type並附加 ( >>) (這將合併當前目錄中的所有文件,按字母升序排序):

for %%a in (*.txt) do (
    type %%a>>destination.txt
)

答案2

您沒有指定作業系統,因此我將提供一個可以使用的解決方案(如果您有sed可用的解決方案)。

$ sed -e 's/^\(.*\)$/< Discount Pizza price for phone number is \1 25 % >/' < 25Percent.TXT

相關內容