我该如何自动检查添加到目录中的所有文件,然后立即对其进行变形?因为我每天都在下载 hdf 文件,不时对其进行变形很浪费时间。这就是为什么我需要批量处理和自动变形。
先感谢您!
脚本:
set in_path=path_to_input
set out_path=path_to_output
md %out_path%
cd /d %in_path%
FORFILES /m *A1_AC*.hdf /C "cmd /c gdalwarp -geoloc -t_srs EPSG:4326 -te 113.205 1.120 157.105 2.005 HDF4_SDS:hdf:@file:01 %out_path%\@fname.tif"*
答案1
/tc
您可以按创建日期( )对目录内容进行排序/-od
(降序,最新优先)
dir /o-d /tc
然后解析第一个(日期)和/或第二(时间) 字段并与当前日期进行比较 ( %date%
)和带有比较运算符的时间(%time%
) :if
for /f "tokens=1,2,5" %a in ('dir /-b /o-d /tc') do @if %a==%date:~4% (if %b==%time:~0,5% (echo %c))
首先选择(日期), 第二 (时间) 和第五 (文件名) 字段,如果条件为真,则输出最后一个 ( %c
)
笔记
- 如果代码放在脚本(文件)中,则需要
%
在局部变量前添加额外内容for
.bat
- 时间 (短时间机器中的
intl.cpl
)应为H:mm tt
(H=24) 格式,因为dir
的输出取决于它 :~
在代码内部是字符串操作(%date%
)运算符,使其值符合输出中的日期和时间格式%time%
substring
dir
- 可以使用外部命令创建计划任务,用于根据时间检查事件,并相应地运行代码/脚本
schtasks
(%windir%\system32\schtasks.exe
)