Batch file 如何根据文件名将PDF文件移动到具有适当名称的文件夹中?

Batch file 如何根据文件名将PDF文件移动到具有适当名称的文件夹中?,batch-file,Batch File,如何根据文件名批量将PDF文件移动到文件夹中 我有以不同名称开头的PDF文件,我想将PDF文件移动到具有适当名称的文件夹中 例如: 2-Net Ptd Ltd_xxxx.pdf Transportation Services_xxxx.pdf 2-Net Ptd Ltd是第一个文件的文件夹名,Transportation Services是第二个文件的文件夹名 如何将2-Net Ptd Ltd_xxxx.pdf移动到2-Net Ptd Ltd文件夹?此批处理代码将当前目录中至少包含1个下划

如何根据文件名批量将PDF文件移动到文件夹中

我有以不同名称开头的PDF文件,我想将PDF文件移动到具有适当名称的文件夹中

例如:

2-Net Ptd Ltd_xxxx.pdf
Transportation Services_xxxx.pdf  
2-Net Ptd Ltd
是第一个文件的文件夹名,
Transportation Services
是第二个文件的文件夹名


如何将
2-Net Ptd Ltd_xxxx.pdf
移动到
2-Net Ptd Ltd
文件夹?

此批处理代码将当前目录中至少包含1个下划线的所有pdf文件移动到一个子文件夹中,其名称由字符串确定,直到文件名中的第一个下划线

@echo off
for /F "tokens=1* delims=_" %%A in ('dir /B /ON *_*.pdf 2^>nul') do (
    md "%%A" 2>nul
    move /Y "%%A_%%B" "%%A"
)
注意:文件名中以1个或多个下划线开头的PDF文件不会移动,移动时会产生错误消息。此外,在第一次出现下划线时包含多个下划线的PDF文件不会移动,并在移动时生成错误消息

要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面

  • dir/?
  • echo/?
  • 获取/?
  • md/?
  • 移动/?

嗨,它工作得很好。许多人感谢您的帮助,并进一步了解该函数的工作原理:)