BAT-käsk sümboli sisestamiseks. faili nime
Probleem
Mul on probleem, mille lahendus komistasin paar aastat tagasi, kuid - kahjuks - minu ladustamine hiljuti kukkus ja ma kaotasin partiifaili!
Alustame seda ebamugavat faili nime:
auaste (kõik) _so2_1hr_conc_A_2p5h10.dat
Järgmine PVT-utiliit klammerdab kõigest „A” ees (esimesed 23 märki).
@echo off%% i jaoks (* .dat) do (set fName = %% i) & kõne: ümbernimetamine goto: eof: rename :: Kasvab fName 1. 23 tähemärki ('auaste (kõik) _so2_1hr_conc_): ren% fName%% fName: ~ 23% goto: eof
Suurepärane! See muudab:
A_2p5h10.dat
Nüüd tuleb mul see teisendada:
A_2p5h100.dat
Teade "... h10" peab olema "... h100". Pange tähele, et kuigi selles näites on osa enne. on 'A_2p5h10', see võib olla mis tahes 8-kohaline string (nii et me vajame metamärki või midagi).
Kas te võiksite soovitada rutiini, mis lisab failinime keskele '' '(enne'. ')? Kataloogis on sadu failinimesid, mis vajavad seda konversiooni.
Tuletan meelde, et kriitiline käsk (ma usun, et kasutatud REN), mis seda varem kasutas, oli äärmiselt lihtne (sisaldas mulle rohkem kui%).
Lahendus
Võite kasutada seda skripti:
@echo off %% i jaoks (* .dat) do (set fName = %% i) & kõne: ümbernimetamine goto: eof: rename :: Faili ümbernimetamine, eemaldades esimesed 23 märki ja viimased 7 ja lisades H100.plt lõpus ren% fName%% fName: ~ 23, -7% H100.plt goto: eof
Märge
Täname Tommyt selle foorumi vihje eest.