Batch Copy unter Windows 2000
Hallo, I need help
ich habe folgendes Problem:
ich möchte eine große Anzahl von Dateien (nicht das ganze Verzeichnis), deren Namen in einer Excel-Liste vorhanden sind am liebsten per Batch-Datei kopieren. Natürlich könnte ich das auch per Hand machen, aber da es sich um fast 2000 Dateien handelt und ich die nicht einzeln raussuchen möchte, wird das zu einer riesen Arbeit.
Kann mir vielleicht jemand ein Programm nennen mit dem das zu bewerkstelligen ist oder wie die Batchdatei aussehen müsste.
Wäre euch sehr verbunden, wenn mir jemand auf die Sprünge helfen könnte
Danke
Rainer
ich habe folgendes Problem:
ich möchte eine große Anzahl von Dateien (nicht das ganze Verzeichnis), deren Namen in einer Excel-Liste vorhanden sind am liebsten per Batch-Datei kopieren. Natürlich könnte ich das auch per Hand machen, aber da es sich um fast 2000 Dateien handelt und ich die nicht einzeln raussuchen möchte, wird das zu einer riesen Arbeit.
Kann mir vielleicht jemand ein Programm nennen mit dem das zu bewerkstelligen ist oder wie die Batchdatei aussehen müsste.
Wäre euch sehr verbunden, wenn mir jemand auf die Sprünge helfen könnte
Danke
Rainer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 20192
Url: https://administrator.de/forum/batch-copy-unter-windows-2000-20192.html
Ausgedruckt am: 22.04.2025 um 08:04 Uhr
7 Kommentare
Neuester Kommentar
Moin, rcoldie,
ist relativ simpel. Die wesentlichen Daten aus Excel in eine *.csv-Datei exportieren, dann die ersten drei Zeilen davon hier posten, dann liefere ich Dir die eine Zeile Batch.
Wesentliche Daten heißt:
-Dateiname (ist klar) [;Zielpfad]][;neuerName] ....[sonstige Parameter wie ggf. Überschreiben, nach kopieren löschen etc]
cu morgen
Biber
ist relativ simpel. Die wesentlichen Daten aus Excel in eine *.csv-Datei exportieren, dann die ersten drei Zeilen davon hier posten, dann liefere ich Dir die eine Zeile Batch.
Wesentliche Daten heißt:
-Dateiname (ist klar) [;Zielpfad]][;neuerName] ....[sonstige Parameter wie ggf. Überschreiben, nach kopieren löschen etc]
cu morgen
Biber
Moin rcoldie,
.. scheinst Du aber gut mit leben zu können mit dieser Selbsterkenntnis des Unverschämt-Seins.. *grins*
However, wieso hab ich eigentlich gestern nach weiteren Feldern in der CSV-Datei gefragt, z.B. nach ";[neuerName]" ??
Ich würde es (wahrscheinlich) über Excel vorbereiten, weil da wenigstens noch eine Spur mehr Flexibilität ist. Kann ja sein, dass hin und wieder diese stumpfsinnige Laufende-Nummer-Mimik mal durchbrochen werden soll.. entweder für Lieblingstitel, die "ganz oben" in der Liste sein sollen oder für Titel, die voraussichtlich einmal angespielt und dann gelöscht werden ("999_Musiktitel.mp3").
OK, wenn Du nur durchnumerieren willst, dann:
::------snipp MP3copyLfd.bat (ungetestet - hab gar keine *.mp3's)
@echo off & setlocal
Set "Sendeverzeichnis=F:\Media\MP3\MP3"
set "Zielverzeichnis=F:\Media\MP3\MP3\Mitnahme"
Set /a "LfdNr=10000"
:: wird später zu ....cLfdNr=0001 etc.... der Parameter "-4" unten nimmt die letzten 4 Stellen.
for /f "delims=" %%i in (csvdatei.csv) do call :copyLfd "%%~i"
goto :eof
~~~~~~~~~~
:copyLfd
set /a "Lfdnr+=1"
Set "cLfdNr=%Lfdnr:~-4%"
copy "%sendeverzeichnis%\%~1" "%zielverzeichnis%\%cLfdNr%_%~1"
goto :eof
::------snapp MP3copyLfd.bat
Aber zwei Unsauberkeiten sind drin:
1) ich prüfe keine Datei-Kollisionen. Wenn Datei 0001_Ententanz.mp3 schon vorhanden ist, wird sie NICHT überschrieben. Statt dessen wirst Du gefragt "Überschreiben oder was?"
Hier hast Du im Batch die Wahl, entweder grundsätzlich zu überschreiben ("copy /y") oder aber vorher zu prüfen, ob Zieldatei schon vorhanden ist ("If exist ....")
2) in jeder Kopierrunde wird wieder mit "0001_....mp3" begonnen. Auch wenn schon 3456 Dateien da sind. Würde ich anders machen.
Aber *breitgrins* ... wenn ihr Youngster nicht mal Eure Anforderungen formulieren könnt(auch bei liebevollen Nachfragen nicht!)... *axelzuck*
Schönen Abend
Biber
However, wieso hab ich eigentlich gestern nach weiteren Feldern in der CSV-Datei gefragt, z.B. nach ";[neuerName]" ??
Ich würde es (wahrscheinlich) über Excel vorbereiten, weil da wenigstens noch eine Spur mehr Flexibilität ist. Kann ja sein, dass hin und wieder diese stumpfsinnige Laufende-Nummer-Mimik mal durchbrochen werden soll.. entweder für Lieblingstitel, die "ganz oben" in der Liste sein sollen oder für Titel, die voraussichtlich einmal angespielt und dann gelöscht werden ("999_Musiktitel.mp3").
OK, wenn Du nur durchnumerieren willst, dann:
::------snipp MP3copyLfd.bat (ungetestet - hab gar keine *.mp3's)
@echo off & setlocal
Set "Sendeverzeichnis=F:\Media\MP3\MP3"
set "Zielverzeichnis=F:\Media\MP3\MP3\Mitnahme"
Set /a "LfdNr=10000"
:: wird später zu ....cLfdNr=0001 etc.... der Parameter "-4" unten nimmt die letzten 4 Stellen.
for /f "delims=" %%i in (csvdatei.csv) do call :copyLfd "%%~i"
goto :eof
~~~~~~~~~~
:copyLfd
set /a "Lfdnr+=1"
Set "cLfdNr=%Lfdnr:~-4%"
copy "%sendeverzeichnis%\%~1" "%zielverzeichnis%\%cLfdNr%_%~1"
goto :eof
::------snapp MP3copyLfd.bat
Aber zwei Unsauberkeiten sind drin:
1) ich prüfe keine Datei-Kollisionen. Wenn Datei 0001_Ententanz.mp3 schon vorhanden ist, wird sie NICHT überschrieben. Statt dessen wirst Du gefragt "Überschreiben oder was?"
Hier hast Du im Batch die Wahl, entweder grundsätzlich zu überschreiben ("copy /y") oder aber vorher zu prüfen, ob Zieldatei schon vorhanden ist ("If exist ....")
2) in jeder Kopierrunde wird wieder mit "0001_....mp3" begonnen. Auch wenn schon 3456 Dateien da sind. Würde ich anders machen.
Aber *breitgrins* ... wenn ihr Youngster nicht mal Eure Anforderungen formulieren könnt(auch bei liebevollen Nachfragen nicht!)... *axelzuck*
Schönen Abend
Biber