【发布时间】:2023-05-19 14:03:01
【问题描述】:
我想监控一个文件夹。 如果将文件添加到文件夹,则应运行 bat 文件。 目的是使事情自动化:当将 tiff 添加到文件夹时将其转换为 pdf,将其移动到目标文件夹并清空受监控的文件夹。
我试过了:
@echo off
:loop
if exist "c:\monitored_folder\*.tif"
for %%a in ("c:\monitored_folder\*.tif") do (
move *.tif "c:\destination folder"
)
)
goto :loop
【问题讨论】:
-
只是将任何新的 *.tif 文件移动到其他地方,您根本不需要
if exist或for。只需:loop、move c:\monitored_folder\*.tif" "c:\destination folder\" 2>nul、timeout 1和goto :loop -
这是对两种解决方案的评论。当我使用 Stephan 的解决方案时,所有文件都被正确移动。当我使用 Angel115 的解决方案时,我必须将 goto moveFiles 替换为 :moveFiles。然后,正如我之前提到的,名称中带有空格或日期(???)的文件不会被传输。
-
引用文件名也会处理空格(顺便说一句,我的评论中有错字(缺少引号):
move "c:\monitored_folder\*.tif" "c:\destination folder\" 2>nul)。在Angel的情况下,应该是move "%%f" "c:\"
标签: batch-file imagemagick-convert