2012-05-21 75 views
0

我需要做的是(我有一些想法,就不能得到這種凝固):複製所有文件內容到新的文件 - 批量

  • 閱讀所有目錄中的文件(用於環路)
  • 在循環中,我需要將循環內容中的當前文件複製到同一目錄中的新文件(x.txt到x2.txt中)。這可以通過類型>>命令完成。

我對它的循環部分更加困惑。我怎麼做?

編輯:

這是我當前的腳本:

FOR %%i IN (*) 
Do type %%i >> %%i2 
+0

開始用'爲/?'在提示。 – Marc

+0

@Joey,同樣,你對我的答案的編輯通過不刪除'/ f'來引入失敗。你認爲'dir/b'介紹了什麼問題? – Marc

+0

對不起'/ f'。例如,它通過將輸出轉換爲舊版OEM代碼頁,在默認控制檯設置下改變了Unicode文件名。另外,由於'for'完全可以迭代文件,所以根本不需要調用'dir'和解析文件名。第二個問題是'for/f'在其輸入上進行令牌化,缺省情況下爲空白。因此,帶空格的文件名無法在'dir'上使用簡單的'for/f'。 – Joey

回答

2

這將每個.txt文件複製到備份文件擴展名爲.txt2

for %i in (*.txt) do type "%i" > "%i2" 

注意,在批文件需要加倍%

for %%i in (*.txt) do type "%%i" > "%%i2" 

從您的問題中不清楚您是否希望將所有找到的文件轉儲到相同的結果文本文件中,或者是否希望每個文件都有一對一的副本。

如果你只是想一個結果文件,你也可以使用copy命令的一個變體,即:

copy *.txt output.dat 
+0

這會很高興地將'foo.txtbar'複製到'foo.txtbar2'中;不只是以'.txt'結尾的文件。 Windows長/短文件名巫毒。 –

+0

謝謝馬克 - 我在找什麼 – user82302124

+0

'dir/b'也顯示我'foo.txtbar'。我已經讀過這個地方的解決方案,但想不到在哪裏... –

相關問題