2015-05-27 334 views
0

Remove trailing spaces from a file using Windows batch?How to remove trailing and leading whitespace for user-provided input in a batch file?似乎是類似的問題,但我無法獲得任何工作答案。批處理刪除文本文件中的尾部空白

我有一個文本文件,說C:\用戶\%用戶名%\桌面\ sometext.txt有一長串數字,一些尾隨空白。我如何循環並刪除每行末尾的空格?我想批量完成這一切。它將在一個其中包含一些其他批處理命令的文件中。

+0

它必須是批處理文件嗎?你是否將你的「解決方案」部署到很多機器上,並且最少需要依賴性?如果不嘗試獲得更「現代」的東西。我假設你在任何Windows> = XP。使用powershell或windows腳本主機,可以從您現有的批處理中調用它們。 – Marged

+1

您能否更具體地瞭解其他答案中的哪些不適合您? – skrrgwasme

回答

2

遺憾的是,您不會向我們展示您的文件中的示例,因此我們只能從您的描述中假設。

假設你的文件是一樣的東西

1 
22 
3 
64 

有些地方的線路有尾隨空格,然後

@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
(
FOR /f "usebackq" %%a IN (q30594509.txt) DO (
SET /a num=%%a 
ECHO(!num! 
) 
)>u:\newfile.txt 

GOTO :EOF 

我使用了含上述數據,我的測試命名q30594509.txt文件。

產生u:\ newfile.txt

+0

我刪除了「u:\」,因爲我沒有「u」驅動器,這段代碼給了我一個「缺少操作員」的錯誤。 – tyebillion

+0

@tyebillion:如果你只是刪除'u:\',那麼這應該已經在當前目錄中創建了'newfile.txt'文件。你應該可以用其他路徑代替'u:\'來選擇不同的驅動器/路徑(但是如果目的地包含空格,必須加上引號)。報告的錯誤表示再現代碼時出現問題。最好複製和粘貼,最好使用像editplus這樣的像樣的編輯器。批處理對語法非常敏感。完全刪除'> u:\ newfile.txt'應該報告給屏幕。那將是我的第一停靠港。 – Magoo

相關問題