批处理文件以重命名多个文件并移至文件夹

0立方米

我需要批处理文件的帮助,该文件可以将文件从c:\ SaveAttachments重命名并将其移动到C:\ Users \ Omer \ Documents \中的多个文件夹中

我在c:\ SaveAttachments(.pdf,.doc,.xls)中有大约5000个文件

例如(aacom_880072_4860914.pdf或.doc或.xls)例如(bbcom_880082_4860914.pdf或.doc或.xls)

将aacom_ 880072 _4860914重命名880072并将其移动到C:\ Users \ Omer \ Documents \ aacom

将bbcom_ 880082 _4860914重命名880082并将其移动到C:\ Users \ Omer \ Documents \ bbcom

非常感谢您对此的帮助。我希望我提供了足够的信息以查看这是否可行。

仅供参考,我是编写批处理文件的初学者,因此非常感谢您对代码的评论。

oo
@ECHO Off
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
set "logfile=U:\logfile.log"
PUSHD "%sourcedir%
>>"%logfile%" echo start at %date% %time%
FOR %%x IN (pdf doc xls) DO (
 FOR /f "delims=" %%a IN (
   'dir /b /a-d "*_*_*.%%x" '
   ) DO (
    FOR /f "tokens=1,2*delims=_" %%m IN ("%%a") DO IF "%%n" neq "" (
    ECHO(MD "%destdir%\%%m"
    >>"%logfile%" ECHO(MD "%destdir%\%%m"
    ECHO(Move "%%a" "%destdir%\%%m\%%n.%%x"
    >>"%logfile%" ECHO(Move "%%a" "%destdir%\%%m\%%n.%%x"
   )
 )
)
POPD
>>"%logfile%" echo end at %date% %time%

GOTO :EOF

您将需要更改的设置sourcedirdestdir适合您的情况。

所需的MD命令仅ECHO用于测试目的。验证命令正确无误后,请更改ECHO(MD为,MD以实际创建目录。附加2>nul以禁止显示错误消息(例如,当目录已存在时)

所需的MOVE命令仅ECHO用于测试目的。验证命令正确无误后,请更改ECHO(MOVE为,MOVE以实际移动文件。附加>nul以禁止显示报告消息(例如1 file moved

切换到源目录
对于所需的扩展名,请执行目录扫描以查找带有至少2个下划线和扩展名的文件。
将名称标记为%%m%%n
(带括号-确保%%n不为空)
创建目录并移动文件。

[根据要求进行编辑以包括日志记录] [修订的编辑:省略%并包含引号]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

编写批处理文件以重命名多个文件夹中的文件

批处理文件以重命名文件夹创建新文件夹

创建批处理文件以删除,重命名和移动多个文件的多个子文件夹

批处理文件,用于按日期增量重命名文件/文件夹

批处理文件重命名文件夹中的文件

使用文本文件重命名文件夹中的批处理文件

批处理文件让用户选择文件夹中的文件然后重命名

windows的批处理文件使用固定部分添加渐进数重命名多个文件夹

批处理文件-命令-用于重命名文件夹的动态输入

启动和关闭程序时,如何使批处理文件重命名文件夹?

用于循环文件夹和复制然后重命名的批处理文件

批处理文件以从 CSV 读取文件名并重命名文件夹中的文件

Powershell 批处理文件夹重命名项目 - 限制长度和标准化

批处理文件-根据父名称和(子)文件夹名称重命名文件

如何使用批处理脚本重命名多个文件夹和子文件?

批处理文件重命名与Python

如何重命名批处理文件

通过书号创建文件夹,从批处理文件下载文件,将文件移至文件夹

使用批处理脚本重命名文件夹

仅使用批处理脚本重命名文件夹

通过Windows 7 Scheduler运行批处理文件以重命名网络驱动器上的文件夹

使用新时间戳在循环中创建后重命名文件夹(不久)-批处理文件

查找批处理文件夹

批处理文件以将文件内容解压缩到文件夹,并使用zip文件名重命名/前缀内容

获取批处理文件以自动重命名输入文件

批处理文件以复制和重命名文件

如何在批处理文件中批量重命名带有多个点的文件?

批处理文件-如何读取一个文件夹中的多个.txt文件?

是否可以使用Powershell或批处理文件将文件夹中的每个文件重命名为另一个名称?