Batch file 为管理办公室重命名批量文件的脚本
每天我扫描多达300个客户端文档并手动重命名它们。所有这些都是票据(传入)或矿石发票(传出) 它应该是非常好的,有一个文件或按钮点击。单击此按钮后,应询问我客户编号、年、月、发票类型和发票编号 提交后,文件名为Batch file 为管理办公室重命名批量文件的脚本,batch-file,rename,Batch File,Rename,每天我扫描多达300个客户端文档并手动重命名它们。所有这些都是票据(传入)或矿石发票(传出) 它应该是非常好的,有一个文件或按钮点击。单击此按钮后,应询问我客户编号、年、月、发票类型和发票编号 提交后,文件名为20181-2015-10-INK-000018.pdf: 20181(客户编号)-2015(年份)-10(月份)-INK(发票类型)-000018(发票编号)。将此批处理文件放在存放*.pdf文件的同一文件夹中。如果愿意,您可以通过双击执行,或者打开cmd.exe窗口,导航到所需文件夹
20181-2015-10-INK-000018.pdf
:20181
(客户编号)-2015
(年份)-10
(月份)-INK
(发票类型)-000018
(发票编号)。将此批处理文件放在存放*.pdf文件的同一文件夹中。如果愿意,您可以通过双击执行,或者打开cmd.exe窗口,导航到所需文件夹并输入批处理文件的名称
@echo off
setlocal EnableDelayedExpansion
rem Select the folder where this Batch file is
cd "%~P0"
echo Enter: Clientnumber Year Month Type Start-number separated by space
set /P "input="
for /F "tokens=1-5" %%a in ("%input%") do (
set "Client=%%a"
set "Year=%%b"
set "Month=%%c"
set "Type=%%d"
set "Number=%%e"
)
set /A "Number+=1000000"
for /F "delims=" %%a in ('dir /B *.pdf') do (
ECHO ren "%%a" "%Client%-%Year%-%Month%-%Type%-!Number:~1!.pdf"
set /A "Number+=1"
)
pause
请注意,此程序仅显示
ren
命令。测试它,如果ren命令看起来正确,请删除ECHO
部分以执行ren命令。您可能需要提供更多详细信息。从你的解释我不知道从哪里开始。你的编辑并没有使它更清楚。输入文件名是什么样子的?我们从哪里得到客户号码?我们从哪里得到年份和月份?年和月是在原始文件名中,还是我们要使用当前的年和月?我们从哪里获得发票类型?发票号码从哪里来?如果你不能回答我的任何问题,那么没有人能够帮助你。我应该删除@echo off?否。更改此行:echo ren“%%a”“%Client%%-%Year%%-%Month%%-%Type%%-!number:~1!.pdf”
此行:ren“%%a”“%Client%%-%Year%%-%Month%%-%Type%%-!number:~1!.pdf”
我可以请您选择并投票表决这个答案吗?谢谢