2011-02-28 65 views
1

我有一些以前的命令生成一個文件.bat文件從一個文件追加數據到另一個文件,我需要添加到這個.bat文件是追加該文件的內容的一些DOS命令到另一個文件,源文件和目標文件的名稱是固定的,都是文本文件。在.bat文件中

有可能在源文件是從命令的蝙蝠沒有建立,所以也許這是可能的執行追加命令之前在這種情況下添加一個檢查的情況?

我怎樣才能做到這一點?

我試圖copy target+source target但有時使用這個我覺得與線啓動一些額外的字符的目標文件,我不知道爲什麼。

感謝

回答

1

不能在原始文件(S)的頂部直接複製。另外,還要確保您使用/B開關COPY使用「二進制模式」複製 - 如果不這樣做有以下不良後果:

  1. 任何「檔案結尾」字符(ASCII代碼26)出現在其中一個源文件中會過早地截斷該文件。文本文件通常不包含此字符,但二進制文件(例如.EXE文件或.DOC文件)通常包含此字符。
  2. 「文件結束」字符將被附加到輸出文件的末尾。

如何這樣做的權利示例:

copy /B input1 + input2 output 
move /Y output input1 

move命令移動文件output背面上的input1頂部; /Y抑制「覆蓋?」提示你否則會看到。

0

如果您的文本是UTF-8編碼或UTF-16,也許多餘的字符是BOM(字節順序標記)?
BOM存在文件開始並且有3個字節長度。
它與您的probrem相匹配嗎?

+0

不,他們沒有編碼爲UTF-8或UTF-16,我覺得這些額外的字符來自於事實證明我是複製的原始文件,j_random_hacker說。 – res1 2011-02-28 12:39:55