Discussion:
bat-Datei: wie Platzhalter für ein Laufwerksbuchstaben?
(zu alt für eine Antwort)
Peter Lentzy
2010-11-18 19:57:12 UTC
Permalink
Ein nettes Hallo an alle, Ich möchte eine Batchdatei schreiben mit
Inhalt: copy c:\beispiel.txt e:\test\

Wenn ich e: durch eine Variable ersetzen will, wie?
also in der Art einer Eingabe:
### Input Variable V
### copy c:\beispiel.txt V:\test ????

so könnte ich dann auf das jeweilig eingegebene Laufwerk kopieren und
dieses durch die vorherige Eingabe wechseln. wie?

Ergänzung: kann ich vor dem copy mit der batchdatei testen, ob der
input-eingegebene Laufwerksbuchstabe existiert, also ansprechbar ist?

Danke und Gruß Peter
--
(Peter Lentzy, Gera, Germany)
Ralf Breuer
2010-11-18 21:15:50 UTC
Permalink
Peter Lentzy <***@yahoo.de> schrieb:

Hallo Peter,
Post by Peter Lentzy
Ein nettes Hallo an alle, Ich möchte eine Batchdatei schreiben mit
Inhalt: copy c:\beispiel.txt e:\test\
Wenn ich e: durch eine Variable ersetzen will, wie?
### Input Variable V
### copy c:\beispiel.txt V:\test ????
so könnte ich dann auf das jeweilig eingegebene Laufwerk kopieren und
dieses durch die vorherige Eingabe wechseln. wie?
set /P LW=Laufwerk(ohne Doppelpunkt):
copy c:\beispiel.txt %LW%:\test\
Post by Peter Lentzy
Ergänzung: kann ich vor dem copy mit der batchdatei testen, ob der
input-eingegebene Laufwerksbuchstabe existiert, also ansprechbar ist?
if exist %LW%:\nul copy...
--
Gruß
Ralf
Ich mag kein TOFU. Siehe http://einklich.net/usenet/zitier.htm
Bei Direkt-Mails NOSPAM entfernen
Rainer Wahl
2010-11-18 21:37:47 UTC
Permalink
Post by Peter Lentzy
Wenn ich e: durch eine Variable ersetzen will, wie?
### Input Variable V
### copy c:\beispiel.txt V:\test ????
copy c:\beispiel.txt %1:\test

Aufruf der Batchdatei dann mit "batchdatei e"
Jeder weitere übergebene Parameter wird dann in der Batchdatei mit %2,
%3,... aufgerufen.
--
Airbrush FAQ: http://www.r-wahl.de/airbrush/faq.php
Baubericht ME-109 RC-Flugmodell:
http://www.r-wahl.de/modellbau/me-109/me-109.php
Peter Lentzy
2010-11-18 22:04:43 UTC
Permalink
Danke vielmals
ich werde das morgen so machen, für heute Gute Nacht ;-)

Gruss und Ende Thread
Peter
--
(Peter Lentzy, Gera, Germany)
Gero Hensch
2010-11-18 22:09:11 UTC
Permalink
Post by Peter Lentzy
Ein nettes Hallo an alle, Ich möchte eine Batchdatei schreiben mit
Inhalt: copy c:\beispiel.txt e:\test\
Wenn ich e: durch eine Variable ersetzen will, wie?
### Input Variable V
### copy c:\beispiel.txt V:\test ????
Z.B.:

set /p lw=Gib Laufwerk (z.B. A:):
copy c:\wasauchimmer %lw%\test\

Mit dem Kommando in der ersten Zeile wird auf den Bildschirm der Text
"Gib Laufwerk (z.B. A:):" ausgegeben, und dann eine Eingabe angenommen,
die der Variablen lw zugewiesen wird. Wenn du also X: eingibst, hat die
Variable dann den Wert X:.
In der zweiten Zeile wird dann die Stelle %lw% durch (in diesem Falle)
X: ersetzt.

Testen, ob das betr. Laufwerk existiert, kannst du so:

set /p lw=Gib Laufwerk (z.B. A:):
if not exist %lw%\ goto murx
copy c:\wasauchimmer %lw%\test\
if errorlevel 1 goto auchmurx
goto ende
:murx
echo Son Murx: %lw% gibbes nisch
goto ende
:auchmurx
echo Ja Murx da: Fehler %errorlevel% beim Kopieren
:ende
echo Tschau bis dann

Je nach Windows-Version kann man das anders machen, und mit besserer
Fehlerbehandlung, aber so müsste es bis zurück zu Win98 gehen.

Lesefutter dazu:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx
http://ss64.com/


Viel Spaß
Gero
Peter Lentzy
2010-11-20 06:43:27 UTC
Permalink
das war sehr detailliert und war genau das beabsichtigte.
Danke und ein schönes Wochenende.

Gruß aus Thüringen
Peter
--
(Peter Lentzy, Gera, Germany)
Loading...