我正在尝试使用其中嵌入的版本来重命名jar文件名称
test-java-1.0.0.jar
至test-java.jar
尝试以下方法,但是如果版本更改为
,则此方法将不起作用 test-java-11.0.0.jar
或test-compile-1.0.12.jar
Set test=test-java-1.0.0.jar
set test1=%test:~0,-10%
rename %test% %test1%.jar
寻找类似的东西
输入字符串:test-java-1.0.0.jar
预期输出:test-java.jar
答案 0 :(得分:1)
这应该足够了
ren test-java*.jar test-java.jar
答案 1 :(得分:0)
要从文件名的末尾去除任何字符0-9.-_
,而无需扩展名:
:: Q:\Test\2019\05\30\SO_56380430.cmd
@Echo off
for %%A in (
"test java-1.0.0.jar"
compile-java-1.11.1.jar
poc-java-1.2.22.jar
some-thing-1.2.32.jar
) do call :StripVer "%%~A"
Goto :Eof
:StripVer
set "Name=%~n1"
:loop
Echo %Name:~-1%|findstr "[0-9._-]" >Nul && (set "Name=%Name:~0,-1%"&Goto :loop)
Echo Original name : %~1
Echo w/o version : %Name%%~x1
Echo:
示例输出:
> Q:\Test\2019\05\30\SO_56380430.cmd
Original name : test java-1.0.0.jar
w/o version : test java.jar
Original name : compile-java-1.11.1.jar
w/o version : compile-java.jar
Original name : poc-java-1.2.22.jar
w/o version : poc-java.jar
Original name : some-thing-1.2.32.jar
w/o version : some-thing.jar
这种方法很慢。
PowerShell中的一个衬里将更快。
Get-ChildItem *.jar|Rename-Item -NewName {$_.Basename.trimend('0123456789.-_')+$_.Extension} -WhatIf
如果输出看起来正常,请删除结尾的-WhatIf
。
可以将其包装在cmd行/ batch文件中
powershell -Nop -C "Get-ChildItem *.jar|Rename-Item -NewName {$_.Basename.trimend('0123456789.-_')+$_.Extension} -WhatIf"
答案 2 :(得分:0)
此方法可删除以连字符分隔的文件名的最后一部分:
编辑2019/05/31 :支持添加了空格的文件名
@echo off
for %%f in (
test-java-1.0.0.jar
compile-java-1.11.1.jar
poc-java-1.2.22.jar
compile-java-code-1.11.1.jar
poc-java-compile-1.2.22.jar
some-thing-like-1.2.32.jar
"test java-1.0.0.jar"
"compile java test-1.2.22.jar"
) do call :Rename %%f
goto :EOF
:Rename name
setlocal EnableDelayedExpansion
set "old=%~1"
set "new=" & set "x=%old:-=" & set "new=!new!-!x!" & set "x=%"
echo REN "%old%" "%new:~1%.jar"
exit /B
示例输出:
REN "test-java-1.0.0.jar" "test-java.jar"
REN "compile-java-1.11.1.jar" "compile-java.jar"
REN "poc-java-1.2.22.jar" "poc-java.jar"
REN "compile-java-code-1.11.1.jar" "compile-java-code.jar"
REN "poc-java-compile-1.2.22.jar" "poc-java-compile.jar"
REN "some-thing-like-1.2.32.jar" "some-thing-like.jar"
REN "test java-1.0.0.jar" "test java.jar"
REN "compile java test-1.2.22.jar" "compile java test.jar"
要真正重命名文件,请在echo
部分之前删除REN
命令。