BAT команда за въвеждане на символ. в име на файл

Проблем

Имам проблем, чието решение се натъкнах на преди няколко години, но - уви - моето съхранение наскоро се разби и аз загубих партидния файл!

Стартираме с това неудобно име на файл:

ранг (всички) _so2_1hr_conc_A_2p5h10.dat

Следната помощна програма BAT умножава всички пред "А" (първите 23 символа):

 @echo off за %% i в (* .dat) do (задайте fName = %% i) & call: rename goto: eof: rename :: Изрязва първите 23 знака на fName ('rank (all) _so2_1hr_conc_'): ren% fName%% fName: ~ 23% goto: eof 

Страхотен! Това показва:

A_2p5h10.dat

Сега трябва да преобразувам това в:

A_2p5h100.dat

Забележете '... h10' трябва да бъде '... h100'. Обърнете внимание, че в този пример частта предхожда '.' е 'A_2p5h10', може да бъде всяка 8-символна низа (затова ще ни е необходим wildcard или нещо друго).

Можете ли да предложите процедура, която ще добави '0' в средата на името на файла (предхождащо '.')? Има стотици имена на файлове в директорията, които трябва да имат това преобразуване.

Доколкото си спомням, критичната команда (смятам, че е използвана REN), която е използвана за това, е била изключително проста (съдържаше едно от повече%, както си спомням).

Решение

Можете да използвате този скрипт:

 @echo off за %% i в (* .dat) do (задайте fName = %% i) & call: rename goto: eof: rename :: Преименувайте файла, като изхвърлите първите 23 символа, а последните 7 и добавите H100.plt в края ren% fName%% fName: ~ 23, -7% H100.plt goto: eof 

Забележка

Благодарение на Томи за този съвет на форума.

Предишна Статия Следваща Статия

Топ Съвети