我已经看到针对 java 和 linux 提出了这个问题(没有得到太多回答),但对于 Windows 命令行批处理操作却没有。我将描述我想使用 Windows 命令行执行的操作。我正在拔头发试图弄清楚这一点。
一个多媒体文件正在转换到文件夹 X。一旦文件转换完成,它就会使用 winSCP 进行 ftp'd。winSCP 命令行语法我大概能弄清楚。等待文件完成转换让我感到困扰。
我概述的一种方法是使用这样的 for 循环:
文件大小写入变量
使用 ftp nul ping 技巧暂停 5 秒(如答案 1:Batch file to download a file from FTP 中所述)
然后检查文件大小是否与先前的变量相同。停止循环检查并启动winSCP。(我使用 winSCP 而不是 windows 命令行 ftp,因为 windows ftp 不会被动运行)。
问题是我还没有找到将文件大小写入变量的方法。另外,我必须确保一旦文件开始 ftp,它就会停止查看该文件并等待新的多媒体文件进入文件夹。
我想这样做的真正原因是目前我正在等待所有文件完成转换然后通过 ftp 上传,这增加了过程的时间,我真的希望这个过程通过 bat 自动化,但是在另外它会节省我的时间。
提前感谢您的帮助。
编辑:我刚刚找到这个链接来获取文件的文件大小:Windows command for file size only? 它没有回答我的问题,但绝对是等式的关键部分。