2013-01-19 72 views

回答

1

您的命令可能會產生多行輸出。 Windows批處理沒有方便的方法將多行命令輸出捕獲到單個變量中。 FOR/F命令可以用來單獨處理每一行,此時可以將每行連接成一個變量(最大約8191字節值長度限制),或者可以創建一個變量數組。

從命令提示符下輸入FOR /?HELP FOR以獲取有關FOR命令的更多信息。

但是,由於您想要真正捕獲文件中的輸出,因此解決方案非常簡單。

如果你想創建一個新的文件

type somefile.txt | find /v "irritating string" >"c:\somePath\newFile.txt" 

如果你想將輸出追加到現有文件

type somefile.txt | find /v "irritating string" >>"c:\somePath\existingFile.txt" 

如果該文件不存在,它將被創建。

+0

非常感謝您的回答。可以告訴我如果我希望輸出文件位於其他文件夾中,而不是當前目錄中,該怎麼辦? –

+1

@RajatSaxena - 只需將輸出文件名加上文件夾的路徑即可。我已經用那個微小的變化更新了答案。如果路徑中包含空格,則會有引號。 – dbenham

+0

請不要在意,但如果使用相同的腳本動態生成這個新文件所在的目錄,那麼該怎麼指定路徑呢? –

相關問題