Skript DOS za preimenovanje datotek
Težava
Rad bi vedel, katere ukazne pakete lahko uporabim za preimenovanje datotek v imeniku, imenovanem gbr1w001data_transfer_gb77 $
INVPRT_5023949000004_20080818061329_0000979.GB ---> 5023949000004_MSG_IN_20080818061329_0000979.GB PPRHDR_5000119000006_20080721061424_00000981.GB_m ---> 5000119000006_MSG_IN_20080721061424_00000981.GB_m SLSRPT_5023949000004_20080721061317_00000978.GB ---> 5023949000004_MSG_IN_20080721061317_00000978.GB
V bistvu bi rad spustil 7 znakov na začetku datoteke in po naslednjih 14 znakih vstavil MSG_IN_.
Prosim pomagajte!
Rešitev
Za
/ r %% x v (% 1) naredite "%% x"% 2
To bo preimenovala datoteko rekurzivno :-)
- Shrani v datoteko 2 argumenta od pripone in pripone.
- ex: ime datoteke je test.bat
- command: test * .avi * .bmp
Preimenuje vse datoteke z razširitvijo avi v bmp (v vseh podmapah).
Rešitev 2
Naslednji bitni skript bo naredil prav to. Če želite prenesti bitni skripte brezplačno, pojdite na njihovo spletno mesto na biterscripting.com
Skript shranite v datoteko C: /X.txt. Začnite z interaktivnim bitnim pisanjem in pokličite skript točno tako:
skript "C: /X.txt" dir ("gbr1w001 "_transfer_gb77") vzorec ("INVPRT_")
Vsi dir, ime datoteke, vzorec so primeri, uporabite svoje.
Ta skript lahko pokličete na kateri koli vzorec, ki ga opisujete. Lahko pa izdelate tudi glavni skript, ki bo ponavljano klical ta skript za vsak vzorec. To lahko storite v paketnem načinu, tako da pokličete biterscripting
iz drugega programa ali DOS-a.
stex = izvleček nizov, chex = znakov ekstrakt, chin = vstavljanje znakov, -p = ohrani izvirni niz, ] = upto in vključno, itd. Naredite pomoč za ukaze, da dobite podrobnosti. To so precej zmogljivi urejevalni ukazi.
Sen
# ZAČETEK SCRIPTA # Deklariranje vhodnih argumentov. var str dir pattern # Zberite seznam datotek, ki ustrezajo vzorcu. var str list Najdi -f $ pattern $ dir> $ list # Seznam datotek je v seznamu $. Obdelajte eno za drugo. Medtem ko ($ list "") naredite # Pridobite naslednjo datoteko. var str datoteka, pot, old_name, new_name lex "1" $ list> $ file # Odstrani pot. To nam bo dalo samo ime datoteke v $ old_name. stex -p "^ / ^ l [" $ file> $ old_name # Po (vendar brez) zadnje / # Spusti prvih 7 znakov. chex -p "7]" $ old_name> $ new_name # Vstavi MSG_IN_ po 14 znakih. brada "14" "MSG_IN_" $ new_name> null # Uporabljamo> null, ker ne želimo videti izhoda # Želimo vstaviti MSG_IN_ v $ new_name (torej ne -p možnost). skript SS_SlashBack.txt ospath ($ file)> $ file # Preimenuj $ file v $ new_name sistem preimenuje $ file $ new_name # END OF SCRIPT
Opomba
Hvala satya za ta nasvet na forumu.