2013-10-03 27 views
0

使用批處理文件(.bat),我創建了一個需要動態路徑的腳本,以便它可以在多臺計算機上工作。我的問題是當我向文件回覆某些內容時,它添加了一行和一個回車。回覆文件結果批量中的空格

假設我在批處理文件的目錄中有一個名爲foo.txt的文本文件,它的內容是完全空的。

在批處理文件,我跑:

echo test > foo.txt 

foo.txt的內容將是:

L1: foo 

L2: 

會有在第一行foo後空間和第二空行。現在,這完全可以,我完全忽略它,但文件名路徑不會忽略它。

從foo.txt的導入文本像這樣:

set /p foo=< foo.txt 

...然後:

set /p name=< C:\A.D.V.E.N.T.U.R.E.\test\%foo%\test2.txt 

...會被解釋爲:

set /p name=< C:\A.D.V.E.N.T.U.R.E.\test\foo \test2.txt 

包括無用的空間。無論如何要做到這一點,所以你可以寫入文本沒有空間的文件,或者一個可以用來刪除回車和空格的命令?

回答

2

的數據應該是test,不foo

Clasically,嘗試

>foo.txt echo test 

但要確保有沒有尾隨空格test後。

(追加到foo.txt使用>>代替>

+0

謝謝!雖然它仍然插入回車,空間現在消失了! – Poyo

+0

還要注意''echo test> foo.txt'也可以。爲了擺脫空間,你只是......好吧,擺脫空間! –

+2

啊,真,@哈里 - 但它不能產生完整的字符串,如果要回顯的字符串以數字終止,而'>文件回顯的東西'會做。 – Magoo

4

您也可以使用括號來確保不包括不必要的空間,在輸出:

(echo test)  >foo.txt