2015-08-18 78 views
1

我正在使用連接:直接進程運行DOS命令以獲取可用於收集的文件列表。未找到Windows Dos命令文件(連接:直接處理)

如果文件在收集文件夾中可用,則文件詳細信息將被重定向到輸出文件(dirfile.lst)。然後Connect:Direct將爲這些文件執行一個集合,然後刪除dirfile.lst。 如果收集文件夾中沒有文件,則預計dirfile.lst將爲空。而Connect:Direct將不收集文件並刪除dirfile.lst。

的命令,我現在用的就是

(dir "G:\Outbound\EDI\USCOLL_FTP\*" /a-d/oN) > "F:\Sterling\Connect Direct v4.6.00\Server\program\2172047.dirfile.lst" 

我現在面臨的問題是當文件過濾器.*.*,如果有該文件夾中沒有文件,然後在命令拋出一個響應「文件未找到」。連接:直接進程失敗,當它從命令得到任何響應。有意思的是我只面對這個問題,文件過濾器是或*對於任何其他文件篩選器即使文件夾中沒有文件,我也沒有收到此「未找到文件」響應。

如果我使用2> Null來解決問題,它不會顯示任何其他異常,因此我不喜歡使用它?

有沒有一種方法,我可以擺脫文件沒有找到消息,當我使用*和得到的。文件篩選器?

任何幫助或建議將不勝感激。

+1

這不是DOS。 –

回答

3

這不是漂亮,但是這應該做的伎倆:

>NUL 2>NUL DIR "G:\Outbound\EDI\USCOLL_FTP\*" /a-d/oN && (DIR "G:\Outbound\EDI\USCOLL_FTP\*" /a-d/oN > "F:\Sterling\Connect Direct v4.6.00\Server\program\2172047.dirfile.lst") || ECHO. > "F:\Sterling\Connect Direct v4.6.00\Server\program\2172047.dirfile.lst" 

我知道你不想使用2>Nul但它是我能得到最好的。希望有人會提供更好的答案。

+0

嗨,謝謝你的回答。我嘗試了上述解決方案,但未創建dirfile.list。 –

+1

我認爲這是關鍵?如果沒有找到文件,它不會創建'dirfile.list' - 你是否說在這種情況下你想要一個空白文件? –

+0

對不起,如果我困惑你。是的,如果沒有文件,那麼我想要一個空的dirfile.list文件 –

相關問題