BAT parancs egy karakter beszúrásához. fájlnévben

Probléma

Nekem van egy probléma, akinek megoldása egy pár évvel ezelőtt megbotlott, de - sajnos - a tárolásom nemrég lezuhant, és elvesztettem a kötegelt fájlt!

Elkezdjük a w / ezt a kellemetlen fájlnevet:

rang (összes) _so2_1hr_conc_A_2p5h10.dat

A következő BAT-segédprogram okosan csíkolja meg mindent az „A” (első 23 karakter) előtt:

 @echo ki%% i-re (* .dat) do (set fName = %% i) és hívás: átnevezés goto: eof: rename :: A fName első 23 karakterét ('rang (all) _so2_1hr_conc_'): ren% fName%% fName: ~ 23% goto: eof 

Nagy! Ez teszi:

A_2p5h10.dat

Most át kell alakítanom ezt:

A_2p5h100.dat

A "... h10" - nek "... h100" -nak kell lennie. Ne feledje, hogy bár ebben a példában a "." az 'A_2p5h10', lehet, hogy bármilyen 8 karakteres karakterlánc (tehát szükségünk lesz egy helyettesítő karakterre vagy valamire).

Javasolhat-e egy olyan rutint, amely hozzáadja a '0' -ot a fájlnév közepén (a '.' Előtti)? A könyvtárban több száz fájlnév található, amelyeknek ezt a konverziót kell használniuk.

Emlékszem, a kritikus parancs (azt hiszem, használt REN), ami korábban ezt tette, rendkívül egyszerű volt (többet% -ot tartalmazott, ahogy emlékszem).

Megoldás

Használhatja ezt a szkriptet:

 @echo off%% i-ben (* .dat) do (set fName = %% i) és hívás: átnevezés goto: eof: rename :: A fájl átnevezése az első 23 karakter elvetésével, és az utolsó 7 és H100.plt hozzáadása a végén ren% fName%% fName: ~ 23, -7% H100.plt goto: eof 

jegyzet

Köszönet Tommynek a fórumon található tippért.

Előző Cikk Következő Cikk

Top Tippek