我需要重命名以下文件:
15113810_MOM-20024-20130601_015840-1.jar
要
MOM-20024-20130601_015840-2.jar
15113810(this is a variable)_MOM-20024-20130601_015840-1.jar
如何使用脚本执行此操作?
echo off
if not exist "C:\BODimp\28007\incoming" /M *.txt /D +0 goto BODIMP goto
c:\batch\stopmnctl.bat && c:\batch\startopmnctl.bat
:END
:BODIMP
IF not EXIST "C:\BODimp\28007\archive" /M *.txt /D +0 goto execute goto
forfiles /P "C:\BODimp\archive" /M *.txt /D +0 /C "cmd /c copy @path C:\BODimp"
:END
:EXECUTE
forfiles /P "C:\BODimp\28007\archive" /M *.txt /D +0 /C "cmd /c copy @path C:\BODimp\28007"
:END
请在此包含此重命名逻辑。
我的要求是从特定文件夹中复制上述格式的jar文件。通过删除第一个'_'和'的数字仪式来重命名它如果是2,则将2代替1或3 ..(即x + 1增量顺序)&将它移动到另一个文件夹,该文件将被Dbase消耗。
答案 0 :(得分:0)
使用cd
转到该文件夹,然后
move 15113810_MOM-20024-20130601_015840-1.jar MOM-20024-20130601_015840-2.jar
修改:如果要在批处理中重命名和移动文件,请查看here。
答案 1 :(得分:0)
尝试使用此方法计算新名称。
@echo off
set source_filename=15113810_MOM-20024-20130601_015840-1.jar
echo.source_name=%source_filename%
for /F "usebackq tokens=2-7 delims=-_." %%i in ('%source_filename%') do call :rename_sub %%i %%j %%k %%l %%m %%n
goto :EOF
REM routine to do the rename
:rename_sub
set prefix=%1
set number=%2
set filedate=%3
set filetime=%4
set count=%5
set extension=%6
set /a "count+=1"
set target_name=%prefix%-%number%-%filedate%_%filetime%-%count%.%extension%
echo.target_name=%target_name%
goto :EOF