Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

Batch-Datei mit Parameterübergabe erstellen





Frage

Wie muss eine Batch-Datei aussehen die einen Paramter für Ausgangspfad und Zielpfad übergeben bekommt? (Ich möchte eine Datei z.B. hilfe.txt aus dem Ausgangspfad in den Zielpfad kopieren)

Antwort 1 von hendrikw

copy %1\hilfe.txt %2

Antwort 2 von _Tester_

Ok danke.
Ich habe aber mal gelesen das man auch %Targetdir% schreiben kann ist das richtig? Wie müsste ich die Batch dann aufrufen denn wenn ich nur statt %1 %sourcedir% schreibe passiert garnichts.

Antwort 3 von hendrikw

Mit %XYZ% verwendet man die Umgebungsvariable XYZ.
Die muss natürlich vorher gesetzt werden.
mfg
Hendrik

Antwort 4 von _Tester_

Aha? Wie müsste denn dann die Batch aussehen wenn ich ihr zwei Paramter übergeben möchte und diese
als %SOURCE% und %TARGET% in der Batch verwenden will?

Antwort 5 von hendrikw

Wenn Du sowieso Parameter übergibst (%1, ...), macht es doch keinen Sinn, daraus erst Umgebungsvariablen zu machen und diese dann zu verwenden.
Aber wenns denn sein soll:
set SOURCE=%1
set TARGET=%2
copy %SOURCE%\hilfe.txt %TARGET%

mfg
Hendrik

Antwort 6 von _Tester_

Vielen Dank! Also wenn ich das jetzt richtig verstanden habe ist es überhaupt nicht möglich
%Source% und %Target% zu verwenden ohne vorher denen %1 und %2 zugewiesen zu haben?

Antwort 7 von hendrikw

Es sei denn, Du setzt die Umgebungsvariablen vor Aufruf der Batch. Aber dann sind die Parameter überflüssig.
mfg
Hendrik

Antwort 8 von _Tester_

Achso funktioniert das! Jetzt verstehe ich auch warum in meiner Muster-Batch-Datei keine set-Zuweisungen vorhanden sind.

Nochmals Vielen Dank!!!!!

Antwort 9 von manei

Hallo,

ich glaube Ihr beide redet aneinander vorbei. _Tester_ scheint keine allzugroße Ahnung von Batchprogrammierung zu haben.

Er spricht zwar davon, daß Quell- und Zielpfad übergeben werden, sagt aber nichts darüber, wie diese übergeben werden oder werden sollen.

Wenn Du die Batch aufrufst z.B. mit:

Batchname C:\Windows C:\Windows\Desktop

kannst du in der Batch dann kopieren mit:

copy %1\hilfe.txt %2

in diesem Fall sind ja %1 und %2 Variable.

Wenn Du nur die Batch aufrufst, mußt Du natürlich in der Batch kopieren mit

copy C:\Windows\hilfe.txt C:\Windows\Desktop

dazu benötigst Du keine Variablen.
Willst Du unbedingt mit Variablen arbeiten, mußt du in der Batch zuerst den Pfad in Variable schreiben und kannst danach mit den Variablen kopieren (umständlich).

Nun stellt das System auch bestimmte Systemvariable zur Verfügung, z.B. zum Systemlaufwerk, zum Systemverzeichnis, zum Programmverzeichnis usw., ist je nach System unterschiedlich. Wenn Du die Eingabeaufforderung startest und hier einfach set eingibst, werden Dir diese Variablen mit dem dazugehörigen Pfad angezeigt. Willst du genau einen dieser Pfade ansprechen, kannst du diese dafür festgelegte Variable nutzen z.B. mit copy %windir%\hilfe.txt %windir%\Desktop.

MfG maneich



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: