`

ren批处理命令批量重命名文件后缀

 
阅读更多


1.批量重命名当前目录下的所有所有.class文件:
cd F:\project\ibank\com\abc\
ren *.class *.java

2.批量重命名当前目录及其子目录的所有.class文件
for /R . %f in (*.class) do (ren %f *.java)






其他网上摘抄过来的内容:



1. [代码]将当前目录下不规则命名的 jpg 文件依次重命名成 1.jpg、2.jpg 等
@echo off
::开启延迟的变量扩充
setlocal enabledelayedexpansion
::计数器
set /a i=1
for %%f in (*.jpg) do (
  ren %%f !i!.jpg
  set /a i=!i!+1
)


2. [代码]其他代码都是处理当前目录下的文件,这个程序给出递归处理子目录的模板   
for /R . %f in (*) do echo %f

3. [代码]去掉文件名前面的日期(http://www.oschina.net/code/snippet_125800_4330)
for %f in (*.sc2replay) do for /F "delims=- tokens=4*" %t in ("%f") do move %f %t


4. [代码]替换文件名中的字串(http://www.oschina.net/code/snippet_143158_4337) 
@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
    set name=%%~nf
    set ext=%%~xf
    move !name!.!ext! !name:%1=%2!.!ext!
)



5. [代码]将文件名变成大写(http://www.oschina.net/code/snippet_99867_4340)

:: convert file name to upper case
@echo off
setlocal enabledelayedexpansion
set LowerCase=abcdefghijklmnopqrstuvwxyz
set UpperCase=ABCDEFGHIJKLMNOPQRSTUVWXYZ

for %%f in (*.txt) do (
    set string=%%f
    for /L %%d in (0,1,25) do (
        set from=!LowerCase:~%%d,1!
        set to=!UpperCase:~%%d,1!
        call :convert !from! !to!
    )
    move %%f !string!
)

goto end

:convert
    set string=!string:%1=%2!
goto :eof

:end






6楼:hit9 发表于 2011-07-09 13:48 回复此评论

发现一个bug,在“ 
当前目录下不规则命名的 jpg 文件依次重命名成 1.jpg、2.jpg ”

中,如果当前目录下存在一个图片名字为 !.jpg (包含!字符),则批处理会失败 
嗯,其实 % 也有可能会有问题。因为批处理中 % 和 ! 都可以用来表示变量,只能通过 ^ 来转义。比如有个文件名叫 %x%.jpg,而你恰巧设置了变量 set x=1,这时候直接用 move %x%.jpg a.jpg 是不可以的,只能用 move ^%x^%.jpg a.jpg,批处理中做字符替换有点麻烦,得想想有没有其他的好办法,呵呵。最终的代码:(在批处理之家找到的,随风的代码)
@echo off
for /f "delims=" %%i in ('dir/b/s *.jpg') do (
 set str=%%~dpi&set str2=%%~nxi
 setlocal enabledelayedexpansion
 if not "!str!"=="!num!" (
 set "n=1"
 ren "!str!*.jpg" "*.*.jpg"
 ) else set /a n+=1
 ren "!str!!str2!.jpg" "!n!.jpg"
 for %%a in (!n!) do endlocal&set n=%%a
 set "num=%%~dpi"
)
pause



10 个最酷的 Linux 单行命令

sudo !!
以 root 帐户执行上一条命令。

python -m SimpleHTTPServer
利用 Python 搭建一个简单的 Web 服务器,可通过 http://$HOSTNAME:8000 访问。

:w !sudo tee %
在 Vim 中无需权限保存编辑的文件。

cd -
更改到上一次访问的目录。

^foo^bar
将上一条命令中的 foo 替换为 bar,并执行。

cp filename{,.bak}
快速备份或复制文件。

mtr google.com
traceroute + ping。

!whatever:p
搜索命令历史,但不执行。

$ssh-copy-id user@host
将 ssh keys 复制到 user@host 以启用无密码 SSH 登录。

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
把 Linux 桌面录制为视频。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics