rcoldie
Goto Top

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

Content-Key: 20192

Url: https://administrator.de/contentid/20192

Printed on: April 16, 2024 at 10:04 o'clock

Member: Biber
Biber Nov 22, 2005 at 21:11:22 (UTC)
Goto Top
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
Member: rcoldie
rcoldie Nov 23, 2005 at 05:19:11 (UTC)
Goto Top
Hallole,
vielen Dank für deine Antwort. Hier die Daten:
Sendeverzeichnis = F:\Media\MP3\MP3
Zielverzeichnis = F:\Media\MP3\MP3\Mitnahme
Name der ersten 3 Dateien:
A-HA-Take On Me.mp3
Animals-See see rider.mp3
Anne Murray-So Time Don't Run Out On Me.mp3

die Dateien sollen einfach nur kopiert werden, keine Namensänderung kein Löschen

Nochmals vielen Dank

Gruß Rainer
Member: Biber
Biber Nov 23, 2005 at 08:58:36 (UTC)
Goto Top
Moin Rainer,

::------snipp MP3copy.bat
@echo off & setlocal
Set "Sendeverzeichnis=F:\Media\MP3\MP3"
set "Zielverzeichnis=F:\Media\MP3\MP3\Mitnahme"
for /f "delims=" %%i in (csvdatei.csv) do copy "%sendeverzeichnis%\%%~i" %zielverzeichnis%
::------snapp MP3copy.bat

HTH Biber
Member: rcoldie
rcoldie Nov 23, 2005 at 17:27:48 (UTC)
Goto Top
Hallo Biber,
Hab's gleich ausprobiert. Das klappt super. Jetzt werd ich aber auch noch gleich unverschämt. Besteht die Möglichkeit während des kopierens vor die Datei auch noch einen Zähler zu setzen, so dass die Datein nicht wieder automatisch nach dem Alphabet sortiert werden, sondern so bleiben wie sie auch in der csv.datei stehen. Daran habe ich nämlich garnicht gedacht. Wäre nett wenn Du dafür auch noch ne Lösung hättest.

Vielen Dank im Voraus
Member: Biber
Biber Nov 23, 2005 at 18:36:24 (UTC)
Goto Top
Moin rcoldie,
face-wink .. 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
Member: rcoldie
rcoldie Nov 27, 2005 at 07:53:37 (UTC)
Goto Top
Hallo Biber, habe jetzt mal mal ein paar Tage getestet und bin zu folgendem Ergebnis gekommen.
Die Batch Nr. 1 die DU gemacht hast funktioniert soweit allerdings mit folgenden Einschränkungen:
Diese Zeichen werden nicht erkannt und landen daher in Fehlermeldung" Datei nicht gefunden" äöüß`´&. Vielleicht sind es auch noch einige andere Zeichen, die ich bis jetzt noch nicht herausgefunden habe.
Die Batch Nr. 2 funktioniert überhaupt nicht, da hagelt es nur Synthaxfehler. Vielleicht kannst Du ja nochmal drüber scheuen.

Einen schönen Sonntag wünscht Dir
Rainer
Member: Biber
Biber Nov 27, 2005 at 16:56:13 (UTC)
Goto Top
Moin Rainer,
ich schau morgen mal drüber.
Biber