Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在文件夹中自动打开pdf文件_Batch File_Pdf_Automation_Watch - Fatal编程技术网

Batch file 在文件夹中自动打开pdf文件

Batch file 在文件夹中自动打开pdf文件,batch-file,pdf,automation,watch,Batch File,Pdf,Automation,Watch,我需要创建一个批处理脚本,它应该作为一个监视文件夹。每当一个pdf文件被放在一个特定的文件夹中时,它应该自动打开,如果可能的话,它应该在两天后自动删除 我试过这个: IF EXIST C:\TEMP\PDFbatch\*.pdf ( CD C:\Temp\PDFBatch\ for %%v in (*.pdf) do ( "%%v" move "%%v" C:\TEMP\PDFbatch\Done\ ) ) REM Delete files

我需要创建一个批处理脚本,它应该作为一个监视文件夹。每当一个pdf文件被放在一个特定的文件夹中时,它应该自动打开,如果可能的话,它应该在两天后自动删除

我试过这个:

IF EXIST C:\TEMP\PDFbatch\*.pdf (
    CD C:\Temp\PDFBatch\
    for %%v in (*.pdf) do (
        "%%v"
        move "%%v" C:\TEMP\PDFbatch\Done\
    )
)
REM Delete files older than 2 days in Done folder
forfiles /p "C:\TEMP\PDFbatch\Done" /s /m *.pdf /D -2 /C "cmd /c del @PATH"

我建议使用以下已注释的批处理文件:

@echo off
cd /D C:\Temp\PDFBatch

:ResetCount
set "WaitCount=0"

rem Search in set directory for *.pdf files (not directories) with
rem archive attribute set. For each PDF file having archive attribute
rem set, remove the archive attribute and open the PDF file by default
rem application for PDF files.

:OpenLoop
for /F "delims=" %%I in ('dir *.pdf /AA-D /B 2^>nul') do (
    %SystemRoot%\System32\attrib.exe -a "%%I"
    start "" "%%I"
)

rem Wait 60 seconds before next loop run.
%SystemRoot%\System32\timeout.exe /T 60

rem After 3 hours (180 minutes) delete all PDF files older than 2 days.
set /A WaitCount+=1
if not %WaitCount% == 180 goto OpenLoop

rem Delete files older than 2 days in current folder.
%SystemRoot%\System32\forfiles.exe /p "C:\Temp\PDFBatch" /m *.pdf /D -2 /C "%SystemRoot%\System32\cmd.exe /c del @PATH"
goto ResetCount
要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面

  • attrib/?
  • cd/?
  • del/?
  • dir/?
  • echo/?
  • 获取/?
  • forfiles/?
  • goto/?
  • rem/?
  • 设置/?
  • start/?
  • 超时/?

另请阅读Microsoft关于的文章,了解
2>nul
的解释。当Windows命令解释器在执行FOR的命令之前处理此命令行时,重定向操作符必须在上用插入符号^转义,以便命令行被解释为文字字符,该命令行以单独的方式执行嵌入的dir命令行命令过程在后台启动。

什么不起作用?当我执行脚本时,它根本不起作用。。正在尝试其他命令。。