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.

Eelmine Artikkel Järgmine Artikkel

Top Näpunäited