根据文件名将文件移动到文件夹
Move files to folders based on file name
我是批处理文件的新手,虽然已经彻底搜索并找到了类似但未涵盖我需要的主题。
我处理许多保存在 C:\Tempfolder 中的文档(.pdf、.doc、.xls)。完成编辑后,我用 9 位数字保存文件名,例如(305123123.pdf 或 306123123.pdf 或 .doc)
我想创建一个批处理文件,它将自动移动以
305 到 C:\Users\Omer\Documents\aaCompany 或者如果
306 到 C:\Users\Omer\Documents\bbCompany
当我决定处理时,我可以在任何时候在文件夹中拥有超过 200 个文件。
我也很好奇这个批处理文件能不能监控C:\Tempfolder,不执行就移动文件305或306
非常感谢对此的帮助。
我希望我已经提供了足够的信息来查看这是否可行。
你可以做这样的事情:
@Echo off &cls
::The Input Folder
set $Dossier="C:\Tempfolder"
::The Output Folders
set $Out305="C:\Users\Omer\Documents\aaCompany"
set $Out306="C:\Users\Omer\Documents\bbCompany"
::The extensions to wait
set "$Format=*.pdf,*.xls,*.doc"
setlocal enabledelayedexpansion
:Boucle
cls&echo Waiting for file ...
for /f %%a in ('dir /b/a-d %$Dossier%\%$Format% 2^>nul') do (
set "$Fichier=%%a"
echo Treating -^> %%a
if "!$Fichier:~0,3!"=="305" move "%%~nxa" %$Out305%
if "!$Fichier:~0,3!"=="306" move "%%~nxa" %$Out306%
)
::Waiting ~5 secondes
ping localhost -n 6 >nul
::Return to the loop
goto:Boucle
我是批处理文件的新手,虽然已经彻底搜索并找到了类似但未涵盖我需要的主题。
我处理许多保存在 C:\Tempfolder 中的文档(.pdf、.doc、.xls)。完成编辑后,我用 9 位数字保存文件名,例如(305123123.pdf 或 306123123.pdf 或 .doc)
我想创建一个批处理文件,它将自动移动以 305 到 C:\Users\Omer\Documents\aaCompany 或者如果 306 到 C:\Users\Omer\Documents\bbCompany
当我决定处理时,我可以在任何时候在文件夹中拥有超过 200 个文件。
我也很好奇这个批处理文件能不能监控C:\Tempfolder,不执行就移动文件305或306
非常感谢对此的帮助。
我希望我已经提供了足够的信息来查看这是否可行。
你可以做这样的事情:
@Echo off &cls
::The Input Folder
set $Dossier="C:\Tempfolder"
::The Output Folders
set $Out305="C:\Users\Omer\Documents\aaCompany"
set $Out306="C:\Users\Omer\Documents\bbCompany"
::The extensions to wait
set "$Format=*.pdf,*.xls,*.doc"
setlocal enabledelayedexpansion
:Boucle
cls&echo Waiting for file ...
for /f %%a in ('dir /b/a-d %$Dossier%\%$Format% 2^>nul') do (
set "$Fichier=%%a"
echo Treating -^> %%a
if "!$Fichier:~0,3!"=="305" move "%%~nxa" %$Out305%
if "!$Fichier:~0,3!"=="306" move "%%~nxa" %$Out306%
)
::Waiting ~5 secondes
ping localhost -n 6 >nul
::Return to the loop
goto:Boucle