我正在為以下任務創建一個批處理腳本:
。任務1:找到一個特定的名字(.txt.)并在一個檔案夾中的所有檔案名中替換為特定的名字(.txt_)。
任務2:在批處理腳本中,在檔案名的最后六位數字前添加一個符號(_)。
如IF: Test.txt.20210808654321
要成為。 Test.txt_20210808_654321
我已經為任務1創建了一個腳本,它正在作業。
腳本:
@echo off
setlocal enabledelayedexpansion
設定 "replace=.txt_"
設定 "find=.txt"。
for %%i in ("C:Script test*.*") do (
設定name=%%~ni
設定ext=%%~xi
ren "%i" "!name:%find%=%replace%!!ext!"
)
暫停
但是我在任務2(=在檔案名的最后6位數字前添加一個符號(_))中遇到了麻煩。
有沒有人幫助我完成它?
uj5u.com熱心網友回復:
這里有一個方法,不需要使用'查找'和'替換'字串:
@For /F Delims^= %%G In ('Set "PATHEXT=" ^& %SystemRoot%System32where.exe
".": "*.txt.??????????????" 2^>NUL') Do @(Set "}=%%~xG")
SetLocal EnableDelayedExpansion & For /F Delims^=. %%H In ("!}:~,9! _!}:~9!"
) Do @EndLocal & Ren "%%G" "%%~nG_%%~H")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315756.html
標籤:
