窗口批处理命令以检测下载的文件是否存在



我使用一个windows批处理文件来扫描下载文件夹,如果它检测到label.pdf,就会发送到本地打印机。这在大多数情况下都很好,但通常在文件完全下载之前检测到文件,这会导致PDFtoPrinter错误。在尝试检测之前,有没有办法确保下载过程完成?

@echo off
cls
:start
IF EXIST "C:UsersDownloadslabel.pdf" (
echo "Found!"
ping 127.0.0.1 -n 1 -w 3000> nul
"C:UsersDownloadsPDFtoPrinter" label.pdf "4BARCODE 4B-2054A"

ping 127.0.0.1 -n 1 -w 10000> nul
del "C:UsersDownloadslabel.pdf"

) ELSE (
echo "it isn't here!"
)
goto start

您可以使用该机制来检查文件是否被另一个应用程序锁定为独占访问。

@echo off
cls
:start
IF EXIST "C:UsersDownloadslabel.pdf" (
REM check if file is locked
2>nul (>>"C:UsersDownloadslabel.pdf" (call )) && ("C:UsersDownloadsPDFtoPrinter" label.pdf "4BARCODE 4B-2054A") || (echo file is locked)
) ELSE (
echo "it isn't here!"
)
Timeout /T 10
goto start

最新更新