【问题标题】:Windows Dos Command File Not Found (connect:direct Process)未找到 Windows Dos 命令文件(连接:直接进程)
【发布时间】:2015-08-18 09:00:28
【问题描述】:

我正在使用 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"

我面临的问题是当文件过滤器是.*.* 时,如果文件夹中没有文件,那么命令会抛出响应“找不到文件”。 Connect:Direct 进程在从命令获得任何响应时失败。有趣的是,我只面临这个问题是文件过滤器是 . 或 * 对于任何其他文件过滤器,即使文件夹中没有文件,我也没有收到此“找不到文件”响应。

如果我使用2> Null 来解决问题,它不会显示任何其他异常,因此我不喜欢使用它?

有没有办法可以摆脱使用 * 和 . 文件过滤器时收到的未找到文件消息?

任何帮助或建议将不胜感激。

【问题讨论】:

    标签: windows ftp connect-direct


    【解决方案1】:

    它不漂亮,但这应该可以解决问题:

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

    【讨论】:

    • 您好,感谢您的回答。我尝试了上述解决方案,但没有创建 dirfile.list。
    • 我认为这就是重点?如果没有找到文件,它不会创建 dirfile.list - 你是说在这种情况下你想要一个空白文件吗?
    • 对不起,如果我混淆了你。是的,如果没有文件,那么我想要一个空的 dirfile.list 文件
    • 编辑了答案 - 见上文。基本上用ECHO. > ...dirfile.list替换ECHO. > NUL
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2021-03-08
    • 2016-02-07
    相关资源
    最近更新 更多