2016-04-15 6 views
1

Ein paar Jahre zurück ich einen Satz Befehl Speichern verwenden, die eine Variable, die durch Leerzeichen getrennt nehmen würde, die jeden Wert %1%2%3 zuweisen würde etcSet-Befehl setzt alle Parameter in% 1% 2% 3 usw.

ich gelesen eine Zeile aus einer Datei, die die folgende Struktur

"log file" "B:\Current\log" "B:\Backup\warehouse" "Warehouse_Day" 

und weisen sie auf eine Variable lässt params sagen, tun dann den berüchtigten set Befehl params, und dann automatisch konnte ich unabhängig jeden Parameter verwenden.

Wenn ich echo %1 täte, würde ich log file
, wenn ich echo %2 täte, würde ich B:\Current\log
, wenn ich echo %3 täte, würde ich B:\Backup\warehouse

Erinnert sich noch jemand oder wissen, was der Befehl war?

+0

Meinst du 'for' Schleifen? – Clijsters

Antwort

3

Wenn ich Sie recht verstehe, das ist, was Sie denken:

@echo off 
set /p "params="<params.bat 
echo %params% 
call :program %params% 
echo %1, %2, %3, %4 are gone. 
echo --%param4%-- 
goto :eof 

:program 
echo %1 
echo %2 
echo %3 
echo %4 
set param4=%4 

Natürlich sind die %n parametes innerhalb der aufgerufenen Unterprogramm nur dann gültig sind und sind weg, wenn Sie aus dem Unterprogramm zurückkehren (aber Sie können leiten Sie andere Variablen von ihnen ab).

Wenn Sie die Angebote loswerden müssen, verwenden Sie %~1, %~2 und so weiter.

Verwandte Themen