.BAT (batchfil) commando för att stega genom en variabel

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
Dand
Posts: 52
Joined: 2005-04-24 17:23:56
Location: Småland/Stockholm

.BAT (batchfil) commando för att stega genom en variabel

Post by Dand »

Hej!
Jag är en riktig amatör så ni får ursäkta en sådan BASIC fråga...

Jag sitter just nu och försöker knåpa ihop ett batch script som ska flytta ett gäng filer i en batch.

Jag har knåpat ihop 3 fungerande skript som alla funkar i princip lika dant. Jag droppar ett knippe bilder på .BAT-filen och skriptet startar och stegar sig igenom variabeln %* som ju innehåller batchen...

Men när jag har stegat mig igenom %1 med SHIFT så är ju strängen tömd (eller verkar vara tömd)...
Och saken är den att jag vill behålla scriptet igång för att kunna köra det med andra variabler på samma batch...
Och det går ju inte när strängen är (till synes?) tom...

Finns det något smart sätt att återställa %* i sitt ursprungliga skick? Via någon form av RESET-kommando eller backup i annan variabel.

Jag har testat en massa olika mer eller mindre egenpåhittade trix utan positivt resultat och naturligtvis även försökt googla fram ett svar men inte hittat något matnyttigt så nu tar jag mig friheten att ställa frågan här.

Jag har pressat in %* i en variabel %BATCHEN%... Och så långt funkar det. Men den verkar jag inte kunna stega mig igenom på samma sätt som %1...

Eller går det att steppa igenom %BATCHEN% på liknade sätt? Hur får jag då fram första delsträngen (den som motsvarar %1)?

Hm... Jag får gråare och gråare kalufs...

Hoppas ni fattar vad jag menar trots brister i terminologin!
Dand
Posts: 52
Joined: 2005-04-24 17:23:56
Location: Småland/Stockholm

Re: .BAT (batchfil) commando för att stega genom en variabel

Post by Dand »

Tja... Jag har löst det nu genom att lägga de delar av skriptet som stegar sig igenom %* i underskript som jag kallar in vid behov.

SET BATCH_CONTAINER=%*
CALL SUB_IMPORT.BAT %BATCH_CONTAINER%

underskriptet får en egen %* att köra slut på och när jag är tillbaka i huvudskriptet har jag kvar min gamla %*.
Post Reply