2011-10-14 82 views
-1

我在C++中調用bat命令。 下面的命令寫入控制檯「連接到bootrom:連接。寫入0x001A13」。 系統( 「d:\ ABC \ abc.exe -u負載d:\ ABC \ 13oct \ AGI \地理信息技術」)Bat文件打印多條語句

但是當我執行相同的命令來轉儲上述字符串轉換成文件是這樣的:

system(「D:\ abc \ abc.exe -u load D:\ abc \ 13oct \ agi \ agit」>> D:\ abc \ 13oct \ tempFile.txt「);

看起來temp文件中有多個連接的實例,在tempFile.txt中寫入0x001A13

有沒有任何機構爲我指出了適當的修復方法 提前致謝!

+0

什麼bat命令?我看到沒有批處理文件被調用。 –

回答

1

好的,我希望我能很好地理解這個:如果第一個命令在臨時文件中出現兩次,您將獲得相同的輸出一次

這可能是因爲您正在使用>>進行重定向,它不會替換輸出文件,但會附加

這意味着,如果執行echo Test >> tempfile.txt兩次,就會有線讀測試

如果您只想保存最後一條命令到文件的輸出,請使用>而不是>>

+0

不,不是那樣的。執行D:\ abc \ abc.exe -u加載D:\ abc \ 13oct \ agi \ agit和「D:\ abc \ abc.exe -u加載D:\ abc \ 13oct \ agi \ agit」>> D: \ abc \ 13oct \ tempFile.txt「應該會產生相同的輸出,因爲它們都執行與abc.exe相同的exe。在第二種情況下,它在記事本tempFile.txt中給出100個」寫入0x001A13「的實例 –

+0

'「D:\ abc \ abc.exe -u加載D:\ abc \ 13oct \ agi \ agit」> D:\ abc \ 13oct \ tempFile.txt「'?因爲每次使用兩個'>'運行命令時,都會添加一行... – Dennis