2017-07-04 43 views
1

我編寫了一個批處理腳本來將文本添加到每行的末尾,但是我的批處理腳本停止在文本文件的第4行。但是當我將文本文件中的數據複製到另一個文本文件並運行批處理腳本時,它將正常運行。你能幫我找出錯誤嗎?批處理腳本不會讀取所有行

@echo off 
set Addtext=SMS 
for /f "usebackq delims=" %%l in (txt.dat) Do (
    echo %%l^|%Addtext% >> C:\Users\bi\Desktop\new.txt 
    ) 

管道中的文本文件是分隔的。

+0

嗨Nada,歡迎SO。請花一點時間來研究這一點,特別是關於證明閱讀:https://stackoverflow.com/help/how-to-ask – petezurich

+1

將'txt.dat'更改爲''txt.dat''或者移除'usebackq' ,我偏好前者。此外,爲了防止尾隨空間的回顯,將'echo %% l^|%Addtext%>> C:\ Users \ bi \ Desktop \ new.txt'更改爲'>>「C:\ Users \ bi \ Desktop \ new。 txt「echo %% l^|%Addtext%' – Compo

+0

它不起作用我可以與我分享我的文本文件???,可能是數據本身類型的問題 –

回答

0

下面的例子將增加一個管,|隨後的%AddText%%SrcFile%內容到每一個非空行的端部,並輸出給%DstFile%

從一個批處理文件:

@ECHO OFF 
SET "SrcFile=file.txt" 
SET "DstFile=%UserProfile%\Desktop\new.txt" 
SET "AddText=SMS" 
(FOR /F "USEBACKQ DELIMS=" %%A IN ("%SrcFile%") DO ECHO %%A^|%AddText% 
)>"%DstFile%" 

腳本的此功能是依賴於的%SrcFile%的格式編碼。

+0

我使用你的腳本,但我認爲這個問題不用腳本文件的問題我使用.dat文件作爲SRCfile,當我打開該文件並保存它並運行腳本它讀取其中的所有行。我可以與您分享我的數據以進行測試。 –