
[已解決]批處理重命名請教for語句提取字符串重命名文件的操作最后由 RunesMoon 于 -9-15 04:27
感謝@zaqmlp 老師,問題完美解決了……完美得出乎預(yù)料……@zaqmlp 老師的認(rèn)真與負(fù)責(zé)令我動(dòng)容,幫助與指點(diǎn)更是遠(yuǎn)遠(yuǎn)超過我那點(diǎn)微不足道的心意……感謝論壇,咱們這邊真有大神常駐!我切實(shí)體會(huì)到了bat的強(qiáng)大!
請教各位大佬:比如有一批文件,文件名為“xxx - xxxx - xx - xxxxx.rar”,是否有可能使用for語句提取最后一個(gè)“ - ”之后的內(nèi)容,重命名文件為“xxxxx.rar”?操作系統(tǒng)為Win10 2004。小弟在實(shí)踐過程中遇到兩個(gè)問題:1、文件名分段不確定,也就是不確定文件名里有幾個(gè)“ - ”;2、參考網(wǎng)上存在的解決方案,類似的寫法,一來原文件名后會(huì)多出對應(yīng)數(shù)量的“-”符號(hào),導(dǎo)致找不到源文件;二來ren命令的第二個(gè)“%%k”會(huì)呈現(xiàn)空值,導(dǎo)致出現(xiàn)重復(fù)的空文件名。同樣的,論壇已有的以“_”分割的方案改動(dòng)后也無法順利執(zhí)行:nclick="copycode($('code0'));">復(fù)制代碼
- setlocal enableDelayedExpansion
- for /f tokens=1-3 delims=- %%i in ('dir /b *.*') do (
- ren %%i-%%j-%%k %%k
- )
小弟學(xué)藝不精,還在努力,請各位大佬多多提攜……知識(shí)無價(jià),聊表心意:給出滿足要求的代碼,任意方式感謝20元;指點(diǎn)例子中的錯(cuò)誤和原理,任意方式感謝20元。禮輕情義重,一點(diǎn)點(diǎn)心意不足掛齒……還請各位不吝賜教……感謝……nclick="copycode($('code1'));">復(fù)制代碼
- for /f delims= %%i in ('dir /b /a-d *_*_*') do (
- for /f tokens=1,2,* delims=_ %%a in (%%i) do (
- ren %%a_%%b_%%c %%b%%~xi
- )
- )

