@echo off
setlocal enabledelayedexpansion
set suffix=jar
for %%i in (*.pack.gz) do (
set oName=%%i
set tName=!oName:~0,-9!
@rem set nName=!tName!!suffix!
set nName=!oName:~0,-8!!suffix!
::@echo "unpack "!oName!" to "!nName!
echo 处理文件:!oName!
echo 处理文件:unpack200 !oName! !nName!
@rem start /wait unpack200 !oName! !nName!
jre7\bin\unpack200.exe !oName! !nName!
del /F !oName!
set /a fNums+=1
)
echo ====================================================
echo Congratulations!文件处理完成,共解压缩!fNums!个文件!
echo ====================================================
endlocal
setlocal enabledelayedexpansion
set suffix=jar
for %%i in (*.pack.gz) do (
set oName=%%i
set tName=!oName:~0,-9!
@rem set nName=!tName!!suffix!
set nName=!oName:~0,-8!!suffix!
::@echo "unpack "!oName!" to "!nName!
echo 处理文件:!oName!
echo 处理文件:unpack200 !oName! !nName!
@rem start /wait unpack200 !oName! !nName!
jre7\bin\unpack200.exe !oName! !nName!
del /F !oName!
set /a fNums+=1
)
echo ====================================================
echo Congratulations!文件处理完成,共解压缩!fNums!个文件!
echo ====================================================
endlocal
pause
上面执行的 set nName=!oName:~0,-8!!suffix! 这样连接的字符串就正确,但是 @rem set nName=!tName!!suffix! 这样连接起来的中间就会多一个空格,不知道为什么。
start /wait unpack200 !oName! !nName! 变为 jre7\bin\unpack200.exe !oName! !nName! 这样弹出的执行窗口就会自动隐藏起来了。