Ukaz BAT za vstavljanje znaka. v imenu datoteke

Težava

Imam problem, čigar rešitev sem naletel na par let nazaj, vendar - žal - moje shranjevanje je pred kratkim padlo in sem izgubil paketno datoteko!

Začnemo w / to nerodno ime datoteke:

rank (vse) _so2_1hr_conc_A_2p5h10.dat

Naslednji pripomoček BAT pametno odstrani vse pred 'A' (prvih 23 znakov):

 @echo off za %% i v (* .dat) do (nastavite fName = %% i) in pokličite: preimenujte goto: eof: preimenuj :: Obreže prvih 23 znakov fName ('rank (all) _so2_1hr_conc_'): ren% fName%% fName: ~ 23% goto: eof 

Super! To omogoča:

A_2p5h10.dat

Zdaj moram to pretvoriti v:

A_2p5h100.dat

Obvestilo '... h10' mora biti '... h100'. Upoštevajte, da je v tem primeru del pred '.' je 'A_2p5h10', lahko je katerikoli 8-mestni niz (zato bomo potrebovali nadomestni znak ali kaj podobnega).

Ali lahko predlagate rutino, ki bo dodala '0' na sredino imena datoteke (pred '.')? V imeniku je na stotine imen datotek, ki morajo imeti to pretvorbo.

Kot se spomnim, kritični ukaz (verjamem, da je bil uporabljen REN), ki je to storil, je bil zelo preprost (vseboval enega od več%, kot se spomnim).

Rešitev

Uporabite lahko ta skript:

 @echo off za %% i v (* .dat) do (nastavite fName = %% i) in pokličite: preimenujte goto: eof: preimenuj :: Preimenujte datoteko tako, da zavržete prvih 23 znakov in zadnje 7 in dodate H100.plt na koncu ren% fName%% fName: ~ 23, -7% H100.plt goto: eof 

Opomba

Hvala Tommyju za ta nasvet na forumu.

Prejšnji Članek Naslednji Članek

Top Nasveti