Fehler in meiner Batch Datei
Hallo,
Ich schreibe im Moment eine Batch Datei die es mir und den anderen Nutzern meines Pc's ermöglichen soll den Inhalt eines USB Stick leicht auf den Pc zu kopieren.
Soweit bin ich bis jetzt:
Der Fehler ist vermutl. beim Xcopy Befehl . Wenn Kein USB Stick angesteckt ist funktioniert die Datei blendend aber wenn einer steckt dann kommt die Fehlermeldung Unzulässige Parameteranzahl.
Ich würde gerne eine ähnliche Datei für Fotos schreiben wobei ich den Ordner so nennen will: %Username%'s Fotos %monat%.%jahr%
Kann man das so machen? Und kann ich der Batch Datei sagen, dass sie nicht 07. sondern Juli. schreiben soll?
Danke im voraus
Thomas
Ich schreibe im Moment eine Batch Datei die es mir und den anderen Nutzern meines Pc's ermöglichen soll den Inhalt eines USB Stick leicht auf den Pc zu kopieren.
Soweit bin ich bis jetzt:
@echo off
title USB Stick
IF NOT exist M:\ goto Antwort0
XCOPY M:\ "D:\USB Stick %Date%" /I /E goto Antwort1
:Antwort0
echo Der USB Stick ist korrekt nicht Angesteckt!
echo Beachten Sie, dass der USB Stick Vorne am PC angesteckt sein muss.
echo Sollten Sie alles Richtig befolgt haben und Dies erscheint immer noch
echo kontaktieren Sie Bitte den Produzenten der Batch Datei.
pause
exit
:Antwort1
echo Die Dateien Ihres USB Sticks wurden erfolgreich nach D:\USB Stick %Date%
echo kopiert.
pause
Der Fehler ist vermutl. beim Xcopy Befehl . Wenn Kein USB Stick angesteckt ist funktioniert die Datei blendend aber wenn einer steckt dann kommt die Fehlermeldung Unzulässige Parameteranzahl.
Ich würde gerne eine ähnliche Datei für Fotos schreiben wobei ich den Ordner so nennen will: %Username%'s Fotos %monat%.%jahr%
Kann man das so machen? Und kann ich der Batch Datei sagen, dass sie nicht 07. sondern Juli. schreiben soll?
Danke im voraus
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64322
Url: https://administrator.de/contentid/64322
Ausgedruckt am: 19.11.2024 um 15:11 Uhr
7 Kommentare
Neuester Kommentar
Die Zeile "XCOPY M:\ "D:\USB Stick %Date%" /I /E goto Antwort1" wird so vermutlich nicht funktionieren. Das "goto Antwort1" muss in die nächste Zeile.
Zum Thema Datum in Batch: Ziemlich haarig. Bieber hat dazu mal ein Tutorial geschrieben, das ich jetzt jedoch nicht finde. Man sollte jedoch zur Erwägung ziehen, andere Programmiersprachen dafür zu nutzen. Mit VB6 kann man auf fertige Funktionen zurück greifen. Andererseits ists natürlich auch immer ne gute Entscheidung, sowas "zu Fuß" zu machen.
Zum Thema Datum in Batch: Ziemlich haarig. Bieber hat dazu mal ein Tutorial geschrieben, das ich jetzt jedoch nicht finde. Man sollte jedoch zur Erwägung ziehen, andere Programmiersprachen dafür zu nutzen. Mit VB6 kann man auf fertige Funktionen zurück greifen. Andererseits ists natürlich auch immer ne gute Entscheidung, sowas "zu Fuß" zu machen.
So ists wohl richtig:
Gruß
Markus
@echo off
title USB Stick
IF NOT exist M:\ goto Antwort0
XCOPY M:\ "D:\USB Stick %Date%" /I /E
goto Antwort1
:Antwort0
echo Der USB Stick ist korrekt nicht Angesteckt!
echo Beachten Sie, dass der USB Stick Vorne am PC angesteckt sein muss.
echo Sollten Sie alles Richtig befolgt haben und Dies erscheint immer noch
echo kontaktieren Sie Bitte den Produzenten der Batch Datei.
pause
exit
:Antwort1
echo Die Dateien Ihres USB Sticks wurden erfolgreich nach D:\USB Stick %Date%
echo kopiert.
pause
Gruß
Markus
Hallo Tompazi!
Etwa so:
Solange das "echo" vor dem "rd ..." steht, wird der Löschbefehl zur Sicherheit nur angezeigt, aber nicht wirklich ausgeführt; wenn Du es entfernst, werden sämtliche Inhalte (auch die Unterverzeichnisse) von Laufwerk M: gelöscht!
Noch eine Anmerkung zu Deiner Frage nach dem Datum: Auch wenn es sich mit ausgeschriebenem Monatsnamen leichter liest, würde ich zum Format JJJJ-MM-TT raten, da Du so am leichtesten sortieren kannst. Erzielen kannst Du dieses Format mit
Grüße
bastla
Etwa so:
setlocal
set /p "Antwort=Dateien auf dem Stick loeschen (J/N)?_"
if /i "%Antwort%"=="J" goto :Loeschen
echo Keine Daten geloescht ...
goto :eof
:Loeschen
echo rd /s /q M:\
echo Daten wurden geloescht.
goto :eof
Noch eine Anmerkung zu Deiner Frage nach dem Datum: Auch wenn es sich mit ausgeschriebenem Monatsnamen leichter liest, würde ich zum Format JJJJ-MM-TT raten, da Du so am leichtesten sortieren kannst. Erzielen kannst Du dieses Format mit
%date:~-4%-%date:~-7,2%-%date:~-10,2%
Grüße
bastla