九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
用批處理對文件批量重命名

喜歡下載東西的人應(yīng)該很有體會,每次下載過來的文件名往往是比較有規(guī)律,但是那個規(guī)律卻不是你想要的規(guī)律,一個個去改名很麻煩,以下我總結(jié)了幾個常用的用于改名的批處理??梢蕴峤ㄗh,為了防止大家誤操作,建議大家先在新建文件夾嘗試成功后再對所需文件進(jìn)行修改,而不要急著馬上使用。

1、批量修改擴(kuò)展名

如把當(dāng)前文件夾的*.jpg全部改為*.rar。

@ECHO OFF
set listFile=list.tmp
del "%listFile%" /q 1>nul 2>nul
dir *.jpg /a /b>>"%listFile%"
FOR /F "tokens=*" %%a IN (
'more "%listFile%"'
) DO (
ren "%%a" "%%~na.rar"
)
del "%listFile%" /q 1>nul 2>nul
PAUSE

 

2、前面插入(例如要給所有歌曲名前面添加歌手的姓名)
@ECHO OFF
set listFile=list.tmp
del "%listFile%" /q 1>nul 2>nul
dir *.mp3 /a /b>>"%listFile%"
FOR /F "tokens=*" %%a IN (
'more "%listFile%"'
) DO (
ren "%%a" "歌手名%%a"
)
del "%listFile%" /q 1>nul 2>nul
PAUSE


3、后面添加(例如要給所有文件名后面添加一個網(wǎng)站的網(wǎng)址)
@ECHO OFF
set listFile=list.tmp
del "%listFile%" /q 1>nul 2>nul
dir *.mp3 /a /b>>"%listFile%"
FOR /F "tokens=*" %%a IN (
'more "%listFile%"'
) DO (
ren "%%a" "%%~naWWW WWW Com%%~xa"
)
del "%listFile%" /q 1>nul 2>nul
PAUSE

 

4、刪除文件名中的相同部分(例如刪除所有文件名中的歌手名)
@ECHO OFF
set deleteString=歌手名
set listFile=list.tmp
del "%listFile%" /q 1>nul 2>nul
dir *.mp3 /a /b>>"%listFile%"
FOR /F "tokens=*" %%a IN (
'more "%listFile%"'
) DO (
SETLOCAL ENABLEDELAYEDEXPANSION
set newFileName=%%a
set newFileName=!newFileName:%deleteString%=!
ren "%%a" "!newFileName!"
ENDLOCAL
)
del "%listFile%" /q 1>nul 2>nul
PAUSE

 

5、把文件名批量重命名為上級目錄名文件名的形式,例如d:\testPath\fatherPath\test.txt

就要重命名為fatherPathtest.txt,按照它的要求,我們可以分析一下,重命名的命令就是
ren 然后參數(shù)為ren 源文件名 新文件名,即上面的單個進(jìn)行重命名的話,那就是
ren "d:\testPath\fatherPath\test.txt" "fatherPathtest.txt"
既然知道了單個怎么命名,那批量也應(yīng)該能知道了吧。
我們知道在批處理中要批量處理的話,那肯定是少不了用for命令的。
現(xiàn)在我們把他的要求分解成兩部分
1、先用dir命令把所有要進(jìn)行重命名的文件的全路徑列出來發(fā)送到一個臨時(shí)的文本文件。
   (供下面的for語句來讀取)
2、用for命令來讀取那個由dir命令生成的列表文件
   a、在循環(huán)的過程中取得上級文件夾名
   b、取得文件名
   c、ren "源文件名" "上級文件夾名文件名"
上面就是偽代碼,接下來是批處理的實(shí)現(xiàn)代碼

@echo off

rem 生成臨時(shí)列表文件
dir d:\*.txt /s /a-d /b>>tmp.txt

rem 用for命令來讀取那個由dir命令生成的列表文件
FOR /F "tokens=*" %%a IN (
'more tmp.txt'
) DO (
rem 用Setlocal來啟用環(huán)境變量延遲功能
Setlocal EnableDelayedExpansion

rem 取得路徑包括了最后一個斜線\
set tempPath=%%~dpa

rem 把路徑中的最后一個斜線去掉
set tempPath=!tempPath:~,-1!

rem 在for命令中來擴(kuò)展取得路徑名
FOR %%A IN (
   "!tempPath!"
) DO (
   rem 擴(kuò)展取得上級目錄名
   set filePath=%%~nA
   rem 新的文件名為: 上級目錄名文件名
   set new_name=!filePath!%%~nxa

   ren "%%a" "!new_name!"
)
ENDLOCAL
)
rem 刪除臨時(shí)文件
del tmp.txt /q 1>nul 2>nul
pause

 

6、批量重命名,刪除文件名中相同的網(wǎng)站名。

昨天晚上在網(wǎng)上下載了一個壓縮包,里面是鄧麗君的歌曲,有50多首。那些歌曲的文件名的后面都加了那個網(wǎng)站的網(wǎng)址,看起來很不爽,大致為

歌曲www.xxx.com.mp3

所以我要把后面的www.xxx.com去掉

如果一個一個去的話,那必然很麻煩,所以就用批處理了,以下的批處理就是用來實(shí)現(xiàn)這個功能的。

因?yàn)槲疫@里www.xxx.com.mp3即最后的字符個數(shù)為14個,所以我只要取前面的文件名,不取這最后的14個,然后再后面加上.mp3就可以了。

%fileName:~0,-14%

這樣的形式就可以取到了。

上面是說原理,下面就是我的批處理,批處理代碼不是很多,我就不做詳細(xì)說明了,有興趣的朋友自己可以看看,也可以根據(jù)這個修改成自己需要的批處理。

@ECHO OFF
COLOR 0a

rem 調(diào)用初始化部分代碼
CALL :initEnv

rem 刪除臨時(shí)文件
CALL :delTmpFiles

rem 生成列表保存在臨時(shí)文件中(重命令時(shí)根據(jù)這個列表來進(jìn)行命名)
CALL :madeList>>%tmpFile%

rem 調(diào)用主模塊(讀取列表,進(jìn)行重命名)
CALL :main

rem 刪除臨時(shí)文件
CALL :delTmpFiles

PAUSE
EXIT

rem 初始化
:initEnv
set tmpFile=tmp.txt
GOTO :EOF

rem 刪除臨時(shí)文件
:delTmpFiles
del %tmpFile% /q 1>nul 2>nul
GOTO :EOF

rem 生成列表文件
:madeList
dir *.mp3 /a /b
goto :EOF

rem 主模塊(重命名)
:main
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%a IN (
'more %tmpFile%'
) DO (
set strTemp=%%a

ren "%%a" "!strTemp:~0,-14!.mp3"
)
GOTO :EOF

 

附:批處理讀取文本常用命令

讀取文本 用 for /f
文本名有空格 用 usebackq
文本內(nèi)容有空格并不要前面的   用 delims=]
擴(kuò)展到 路徑 和 文件名    用 %%~dpn1

例子:

for /f "delims=" %%i in (1.txt) do (
set "str=%%~dpi"
set str=!str:*]=!
echo !str:~,-1!       %%~ni
)
pause

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
bat批量修改文件名
批處理命令 刪除文件,重命名文件
電腦慢怎樣徹底清理電腦系統(tǒng)垃圾
批處理將文件重命名為文件修改時(shí)間(精確到秒)
DOS基本命令
dos處學(xué)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服