Hallo liebe Community,
da ich bei den verschiedenen Befehlsmöglichkeiten bei Windows nicht allzu versiert bin, benötige ich Hilfe beim Schreiben eines Batches...
Ich habe inzwischen herausgefunden, dass die Möglichkeit besteht Dateien automatisiert an einen anderen Ort zu kopieren. Dies soll wohl mit den Befehlen "xcopy" und "robocopy" möglich sein.
Dazu muss ich wohl den Editor öffnen und eine Datei mit dem entsprechenden Befehl schreiben.
Wenn ich das richtig nachgelesen habe soll dieser dann (um von dem Ordner C:\1 an D:\1 zu kopieren) lauten:
xcopy C:\1 D:\1
Ist das auch möglich wenn es sich bei D: um ein Netzlaufwerk handelt?
Um dann Fehler zu ignorieren und eine Aufforderung zu vermeiden setze ich dann noch /Q und /C dahinter:
xcopy C:\1 D:\1 /Q /C
Ich habe jedoch gesehen, dass bei vielen noch ein "Echo On/Off" davor/dahinter steht... wofür steht das denn?
Und jetzt wahrscheinlich das Schwierigste an meinem Anliegen:
Kann die Datei beim Kopieren so umbenannt werden, dass die Datei im Ziel nicht überschrieben wird, sondern immer neue Dateien erzeugt werden (also mit fortlaufender Nummer z.B.)?
Wie würde der ganze Befehl denn dann lauten?
Vielen Dank schonmal und entschuldigt bitte mein Unwissen...
Liebe Grüße
Seite 1 von 1
Batch
Anzeige
#2
geschrieben 17. Dezember 2024 - 21:39
Zeigt Meldungen an oder schaltet die Befehlsanzeige ein (ON) oder aus (OFF).
ECHO [ON | OFF]
ECHO [Meldung]
ECHO ohne Parameter zeigt die aktuelle Einstellung der Befehlsanzeige an.
Zu Robocopy - dieses Tool ist so umfangreich, dass eine Beschreibung möglich wäre aber anhand der unzähligen Parameter ausufern würde. Empfehlung "Robocopy" downloaden und dazu eine graphische Oberfläche. Hier empfehle ich YARCGUI. Leider scheint die Seite des Programmierers down oder zumindest derzeit nicht erreichbar zu sein. YarcGUI ist so aufgebaut, dass für jeden (Parameter-) Schalter ein "Hilfeknopf" die Funktion erklärt. Natürlich solltest Du Dich vorher einarbeiten. Das Gute ist mit dem Parameter Schalter /L kannst Du sehen was bei Aufruf der Batchdatei passieren würde - Quasi der Testmodus!
Sicher können Dir hier einige weiterführend helfen - ich hoffe du weist das Weihnachten vor der Tür steht ! Eine kleine Auswahl an hochpreisigen Geschenken dürfte das ganze auf jeden Fall beschleunigen. Manchmal hilft es auch wenn Du denjenigen/diejenige in Dein Nachtgebet einschliesst! Gleichwohl - hier werden Sie geholfen. So Spass beseite bestimmt arbeitet schon einer an der *.bat Datei für Dich ...
ECHO [ON | OFF]
ECHO [Meldung]
ECHO ohne Parameter zeigt die aktuelle Einstellung der Befehlsanzeige an.
Zu Robocopy - dieses Tool ist so umfangreich, dass eine Beschreibung möglich wäre aber anhand der unzähligen Parameter ausufern würde. Empfehlung "Robocopy" downloaden und dazu eine graphische Oberfläche. Hier empfehle ich YARCGUI. Leider scheint die Seite des Programmierers down oder zumindest derzeit nicht erreichbar zu sein. YarcGUI ist so aufgebaut, dass für jeden (Parameter-) Schalter ein "Hilfeknopf" die Funktion erklärt. Natürlich solltest Du Dich vorher einarbeiten. Das Gute ist mit dem Parameter Schalter /L kannst Du sehen was bei Aufruf der Batchdatei passieren würde - Quasi der Testmodus!
Zitat
ann die Datei beim Kopieren so umbenannt werden, dass die Datei im Ziel nicht überschrieben wird, sondern immer neue Dateien erzeugt werden (also mit fortlaufender Nummer z.B.)?
Sicher können Dir hier einige weiterführend helfen - ich hoffe du weist das Weihnachten vor der Tür steht ! Eine kleine Auswahl an hochpreisigen Geschenken dürfte das ganze auf jeden Fall beschleunigen. Manchmal hilft es auch wenn Du denjenigen/diejenige in Dein Nachtgebet einschliesst! Gleichwohl - hier werden Sie geholfen. So Spass beseite bestimmt arbeitet schon einer an der *.bat Datei für Dich ...
Dieser Beitrag wurde von Airboss bearbeitet: 17. Dezember 2024 - 22:06
#3
geschrieben 18. Dezember 2024 - 07:33
Zitat (Bernd K.: 17. Dezember 2024 - 12:03)
Ich habe inzwischen herausgefunden, dass die Möglichkeit besteht Dateien automatisiert an einen anderen Ort zu kopieren. Dies soll wohl mit den Befehlen "xcopy" und "robocopy" möglich sein.
Zumindest nicht von Haus aus (also keine Parameter, die du da setzen kannst)
Es gibt da verschiedene Ansätze.
Dies ist einer den ChatGPT nehmen würde (ungeprüft, Copy-Befehl)
@echo off setlocal enabledelayedexpansion REM Quell- und Zielverzeichnisse anpassen set "source=C:\Pfad\zum\Quellverzeichnis" set "target=C:\Pfad\zum\Zielverzeichnis" REM Sicherstellen, dass das Zielverzeichnis existiert if not exist "%target%" ( mkdir "%target%" ) REM Dateien aus dem Quellverzeichnis verarbeiten for %%F in ("%source%\*.*") do ( set "filename=%%~nF" set "extension=%%~xF" set "destination=%target%\%%~nF%%~xF" REM Prüfen, ob die Datei bereits existiert if exist "!destination!" ( set "counter=1" :check_file set "newfile=%target%\!filename!00!counter!!extension!" if exist "!newfile!" ( set /a counter+=1 goto :check_file ) set "destination=!newfile!" ) REM Datei kopieren copy "%%F" "!destination!" >nul echo Datei kopiert: "%%F" -> "!destination!" ) echo Vorgang abgeschlossen. pause
Anforderungs-Text war
ch benötige ein Batch-Script für Windows, bei denen Dateien, die im Zielverzeichnis bereits existieren nicht überschrieben werden, sondern nach einem Muster nummeriert hinzugefügt werden - zum Beispiel: Datei.txt existiert bereits, Neu kopierte Datei soll dann Datei001.txt heißen.
Zitat
Dazu muss ich wohl den Editor öffnen und eine Datei mit dem entsprechenden Befehl schreiben.
Wenn ich das richtig nachgelesen habe soll dieser dann (um von dem Ordner C:\1 an D:\1 zu kopieren) lauten:
xcopy C:\1 D:\1
Ist das auch möglich wenn es sich bei D: um ein Netzlaufwerk handelt?
Wenn ich das richtig nachgelesen habe soll dieser dann (um von dem Ordner C:\1 an D:\1 zu kopieren) lauten:
xcopy C:\1 D:\1
Ist das auch möglich wenn es sich bei D: um ein Netzlaufwerk handelt?
sieht erstmal richtig aus. Es ist nicht relevant ob es sich um ein Netz- oder lokales Laufwerk handelt. Du könntest auch auf UNC-Pfade zugreifen was aber umständlicher ist.
Tipp: Setze Pfadangaben immer in Anführungszeichen - so werden Leerzeichen nicht falsch interpretiert
zum Beispiel
C:\Dein Verzeichniss\
würde ohne Anführungszeichen in Befehlen so interpretiert werden, dass der Pfad nur bis C:\Dein geht, und dahinter sich Optionen befinden.
Thema verteilen:
Seite 1 von 1