Supportnet Computer
Planet of Tech

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




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]

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


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]

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

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: