批处理文件forfiles命令移动文件

时间:2019-02-19 16:38:51

标签: batch-file forfiles

我已运行以下代码将文件从一个文件夹移动到另一个文件夹,并且已使用365天或更长时间:

@echo off
set "src=C:\Notes"   
set "dest=C:\Notes\test"   
for %%F in ("%src%\*") do (  
  for /f "tokens=1,2,3 delims=/ " %%A in ("%%~tF") do (  
    forfiles /m *.* /c "cmd /c move 0x22%%~fF0x22 0x22%dest%\%%C_%%A0x22 " /d -365  
  )  
)

但是,我在所附的屏幕截图中也更改了文件名和扩展名,如2017_05、2017_07、2018_10。

有人可以帮忙找回那些文件吗?

预先感谢。enter image description here

1 个答案:

答案 0 :(得分:0)

根据我的评论...

  • 下载Windows可执行文件exiftool
  • 将存档解压缩为C:\Users\Nishant\Downloads,然后将可执行文件从exiftool(-k).exe重命名为exiftool.exe
  • 使用C:\Notes\test中的未知文件打开命令提示符窗口,cmd.exe
  • 输入以下内容:

    For %A In ("C:\Notes\test\*") Do @For /F "Tokens=5" %B In ('2^>Nul "C:\Users\Nishant\Downloads\exiftool.exe" -FileTypeExtension "%A"') Do @Ren "%A" "%~nxA.%B"
    

任何已找到扩展名的文件都应该更改为再次包含扩展名。剩下的还需要进一步调查。