找不到Windows Dos命令文件(连接:直接进程)

时间:2015-08-18 09:00:29

标签: windows ftp connect-direct

我正在使用 Connect:Direct 进程运行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"

我面临的问题是当文件过滤器是.*.*时,如果文件夹中没有文件,那么该命令会抛出响应" File Not Found&#34 ;。连接:直接进程在从命令获得任何响应时失败。有趣的是我只面对这个问题是文件过滤器是或*对于任何其他文件过滤器我没有得到这个"文件未找到"即使文件夹中没有文件也会响应。

如果我使用2> Null来解决问题,它就不会显示任何其他例外情况,因此我不想使用它?

当我使用*和文件过滤器时,有没有办法可以摆脱File not Found消息?

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分: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,但这是我能得到的最好的。希望有人能提供更好的答案。