【发布时间】:2022-01-03 17:25:53
【问题描述】:
我正在尝试找到一种方法来查找标有特定日期戳的文件,然后将其复制到新文件夹中。 我的文件夹结构是这样的:
D:\GOES 数据中心\2021-12-31\ D:\GOES 数据中心\2022-01-01
D:\GOES 数据中心\2022-01-02\ D:\GOES 数据中心\2022-01-03\
每个文件夹中都有这样的文件
GOES16_FD_FC_CUSTOMLUT_20220101T140020Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T143020Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T150019Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T153020Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T160020Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T160018Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T170020Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T173019Z.jpg GOES16_FD_FC_CUSTOMLUT_20220101T180020Z.jpg 等
我需要一个批处理脚本的命令行来查找从特定日期开始的每个文件,只有“T1700”时间戳,然后将该文件复制到新文件夹。
这是我尝试过的:
for /R "D:\GOES DATA CENTER\goes16\fd\CUSTOMLUT\" %%f in (*.jpg) do xcopy "%%f" "F:\SatelliteInput\CUSTOMLUT\compositeFC" /D /D:%startdate%
这个解决方案可以满足我的需要;使用 %satellite%、%bandtype% 和 %startdate% 的变量 - 我稍后也会添加一个用户定义的变量。
for /R "D:\GOES DATA CENTER\goes%satellite%\fd\%bandtype%\" %%f in (*T1700*.jpg) do xcopy "%%f" "D:\TEMPPROCESSING\HIGHNOON" /D /D:%startdate% /S /C /Y
【问题讨论】:
-
xcopy /?应该回答你的问题。 -
这是我用来按文件日期搜索的方法,其中 startdate 作为我设置的变量:for /R "D:\GOES DATA CENTER\goes16\fd\CUSTOMLUT\" %%f in (* .jpg) do xcopy "%%f" "F:\SatelliteInput\CUSTOMLUT\compositeFC" /D /D:%startdate% 如何修改它以仅使用 T1700 搜索那些文件?
-
试一试@Echo OFF Set "Pattern=T1700" For /R "D:\GOES DATA CENTER\" %%# in (*.jpg) Do (Echo %%~nx# | FIND "GOES16_FD_FC_CUSTOMLUT_20220102%Pattern%0020Z" 1>NUL && ( Set /A "Index+=1" Call Set "JPG%%INDEX%%=%%~#" Echo Full Path: %%~# Echo FileName : %% ~nx# REM Echo 目录:%%~p# ) ) ::CLS Echo JPG1 = %JPG1% Echo JPG2 = %JPG2% Pause&Exit
-
@CarlReinemann 如果您只想查找和复制
*T1700???.jpg,为什么要在命令集FOR 中使用通配符模式*.jpg?
标签: windows batch-file cmd