标题: [已解决]提取文件名的一部分作为新的文件名
[打印本页]
作者: skypig
时间: 2008-12-19 18:01
标题: [已解决]提取文件名的一部分作为新的文件名
上午下了一堆补丁,文件名类似于这样:
我想把这些补丁重新命名成 KBxxxxxx.exe 的形式,(尝试了一中午,没有成功)
:( 只好请教大家了
[
Last edited by skypig on 2008-12-19 at 19:48 ]
作者: moniuming
时间: 2008-12-19 19:07
以"-"为分隔符,取第二列...
"tokens=2 delims=-"
作者: skypig
时间: 2008-12-19 19:20
for /f "tokens=2 delims=-" %%i in ('dir /on /b *.exe') do (*******)
如果do里面做echo的话,确实可以得到一个列表,
如果想重名名似乎还得再循环一次,我有点晕了...
楼上的朋友能给一段代码吗,谢谢你
作者: moniuming
时间: 2008-12-19 19:38
应该要用到两层for吧,试试?放在要更名的目录里运行,如果显示是要的结果,请把echo去掉以实现更名的操作.
@echo off
for %%a in (*.exe) do (
set "name=%%~na"
setlocal enabledelayedexpansion
for /f "tokens=2 delims=-" %%b in ("!name!") do (
echo ren "%%a" "%%b%%~xa"
)
endlocal
)
echo.&pause
作者: skypig
时间: 2008-12-19 19:47
楼上的兄弟,你的代码非常好用,谢谢你,
这远比我想象的要复杂
我收藏学习了...