Supportnet / Forum / BS-Sonstige
BATCH abfrage ?
Frage
Hallo,
ich möchte in einem batch.Menu z.b. ein Verzeichniss kopieren. also drückt man auf (1) Verzeichnis Kopieren; Jetzt soll eine abfrage kommen wohin das copiert werden soll, wie mache ich sowas?
bye
Antwort 1 von Redhawk
keiner eine idee ?
Antwort 2 von maneich
Hallo,
dazu benötigst Du ein Tool, mit dem Du eine Eingabe machen kannst.
Mit windowseigenen Möglichkeiten ist das möglich über ein VBS-Script. Wenn Du daran interessiert bist, mail mir und ich sende Dir eine Eingabeaufforderung in einer Batch zu.
Es gibst aber auch Freeware-Tools die das bieten; z.B. LMOD von http://home.nikocity.de/horst.muc/.
Dazu mußt Du bedenken, ob Du copy, xcopy oder xcopy32 verwenden willst.
Du könntest auch in dieser Batch mit einer weiteren Eingabe auswählen, ob mit copy oder xcopy oder xcopx32 gearbeitet werden soll.
Danach kannst du eine Batch schreiben wie z.B.:
Dateiname=
Copieren.bat
@echo off
cls
Eingabetool a=Eingabe copieren von:
Eingabetool b=Eingabe copieren nach:
echo copieren mit copy = 1
echo copieren mit xcopy = 2
echo copieren mit xcopy32 = 3
choice /c:123 Bitte Option waehlen!!!
if %c%==3 goto c3
if %c%==2 goto c2
copy /y /v %a% %b%
goto ende
:c2
xcopy /(parameter) %a% %b%
goto ende
:c3
xcopy32 /(parameter) %a% %b%
:ende
cls
Die notwendigen Parameter kannst Du auswählen, wenn Du in der Eingabeaufforderung xcopy bzw. xcopy32 /? eingibst.
MfG maneich
dazu benötigst Du ein Tool, mit dem Du eine Eingabe machen kannst.
Mit windowseigenen Möglichkeiten ist das möglich über ein VBS-Script. Wenn Du daran interessiert bist, mail mir und ich sende Dir eine Eingabeaufforderung in einer Batch zu.
Es gibst aber auch Freeware-Tools die das bieten; z.B. LMOD von http://home.nikocity.de/horst.muc/.
Dazu mußt Du bedenken, ob Du copy, xcopy oder xcopy32 verwenden willst.
Du könntest auch in dieser Batch mit einer weiteren Eingabe auswählen, ob mit copy oder xcopy oder xcopx32 gearbeitet werden soll.
Danach kannst du eine Batch schreiben wie z.B.:
Dateiname=
Copieren.bat
@echo off
cls
Eingabetool a=Eingabe copieren von:
Eingabetool b=Eingabe copieren nach:
echo copieren mit copy = 1
echo copieren mit xcopy = 2
echo copieren mit xcopy32 = 3
choice /c:123 Bitte Option waehlen!!!
if %c%==3 goto c3
if %c%==2 goto c2
copy /y /v %a% %b%
goto ende
:c2
xcopy /(parameter) %a% %b%
goto ende
:c3
xcopy32 /(parameter) %a% %b%
:ende
cls
Die notwendigen Parameter kannst Du auswählen, wenn Du in der Eingabeaufforderung xcopy bzw. xcopy32 /? eingibst.
MfG maneich
Antwort 3 von _gau_
Ich hätte da noch ein paar Anmerkungen.
Zwischen xcopy und xcopy32 brauchst du nicht zu unterscheiden. Wenn die Batch in der Eingabeaufforderung von Windows läuft, dann wird auch bei Aufruf von xcopy automatisch die 32-Bit-Version (xcopy32) verwendet.
Die choice-Abfrage kommt mir komisch vor. Normalerweise gibt der Befehl choice (von Microsoft) einen Errorlevel entsprechend der Stellung der gedrückten Taste zurück. Woher kommt die Umgebungsvariable %c% im obigen Script?
Hier ein korrektes Beispiel:
choice /c:123
if errorlevel 3 goto c3
if errorlevel 2 goto c2
Man kann auch Buchstaben verwenden:
choice /c:abc
if errorlevel 3 goto c3
if errorlevel 2 goto c2
(hier entspricht die Taste "a" dem errorlevel 1, "b" entspricht errorlevel 2 usw.)
[gau]
Zwischen xcopy und xcopy32 brauchst du nicht zu unterscheiden. Wenn die Batch in der Eingabeaufforderung von Windows läuft, dann wird auch bei Aufruf von xcopy automatisch die 32-Bit-Version (xcopy32) verwendet.
Die choice-Abfrage kommt mir komisch vor. Normalerweise gibt der Befehl choice (von Microsoft) einen Errorlevel entsprechend der Stellung der gedrückten Taste zurück. Woher kommt die Umgebungsvariable %c% im obigen Script?
Hier ein korrektes Beispiel:
choice /c:123
if errorlevel 3 goto c3
if errorlevel 2 goto c2
Man kann auch Buchstaben verwenden:
choice /c:abc
if errorlevel 3 goto c3
if errorlevel 2 goto c2
(hier entspricht die Taste "a" dem errorlevel 1, "b" entspricht errorlevel 2 usw.)
[gau]
Antwort 4 von Ralfman
Schick mir mal die grobe unfertige Batchdatei, damit ich eine Ungefähre Vorstellung davon habe wie Du Dir das ungefähr in der Ausführung vorstellst. Ich kümmer mich dann um den rest und schick Dir alles per mail zurück.
Die Tipps von maneich und [gau] sind schon sehr gut, (die beiden haben mir auch schon geholfen) sind aber dennoch nur Ansätze zur Lösung (nehmt´s mir bitte nicht übel).
[gau] hat auf seiner Homepage ein DOS-Tool mit dem sich gerade für diesen zweck Zaubern läßt (Eingabe).
@maneich:
@[gau]:
Danke ihr zwei, ohne Euch währe das SN nicht die Hälfte wert.
gruß
Ralfman
Die Tipps von maneich und [gau] sind schon sehr gut, (die beiden haben mir auch schon geholfen) sind aber dennoch nur Ansätze zur Lösung (nehmt´s mir bitte nicht übel).
[gau] hat auf seiner Homepage ein DOS-Tool mit dem sich gerade für diesen zweck Zaubern läßt (Eingabe).
@maneich:
@[gau]:
Danke ihr zwei, ohne Euch währe das SN nicht die Hälfte wert.
gruß
Ralfman
Antwort 5 von _gau_
Hi Ralfman!
LOL - da hab ich doch glatt mein eigenes Tool vergessen ;-)
http://home.arcor.de/st.gaumitz/progs/dos/eingabe/
Beschreibung in "eingabe.txt"
[gau]
LOL - da hab ich doch glatt mein eigenes Tool vergessen ;-)
http://home.arcor.de/st.gaumitz/progs/dos/eingabe/
Beschreibung in "eingabe.txt"
[gau]
Antwort 6 von Redhawk
jo,
hab versucht auch ein prog unter pascal zu schreiben mitdem ich z.b. die command.com aufrufe und dannach einen parameter eingeben muß, fnzt aber net so *g
THX
hab versucht auch ein prog unter pascal zu schreiben mitdem ich z.b. die command.com aufrufe und dannach einen parameter eingeben muß, fnzt aber net so *g
THX

