Dateinamen kopieren und einfügen, keine Inhaltliche Anpassung und kein Datum notwendig!
Hallo liebe Community,
bin durch Recherchearbeiten hier in diesem Forum gelandet und hab mir auch sehr aufmerksam viele Beiträge durchgelesen. Da ich absoluter Newbie auf dem Gebiet bin und mich auch mit Batchverarbeitungen kaum auskenne hoffe ich hier eine Lösung zu finden.
Falls so ein Thread schon besteht dann bitte ich dies zu entschuldigen aber habe in der DB keinen Beitrag gefunden der genau auf die Problemstellung zutrifft.
Folgendes Szenario:
Angenommen man hat zwei Verzeichnisse: Verzeichnis 1 und Verzeichnis 2. Diese Verzeichnisse beinhalten jeweils 100 Dateien, welche sich von der Dateigröße und Dateinamen unterscheiden.
Wie kann ich in einer Batch Datei darstellen, dass er aus dem Verzeichnis (Verzeichnis 1/Datei1.txt) mir den Namen "datei1" ins Verzeichnis 2/test. txt kopiert? Im Anschluss sollte mein 2. Verzeichnis die selben Dateinamen wie im anderen Verzeichnis besitzen aber es darf definitiv keine inhaltliche Änderung stattfinden.
Ergebnis sollte wie folgt aussehen:
Quelldateien
Verzeichnis 1
datei1.txt
datei2.txt
datei3.txt
.
datei100.txt
Zielverzeichnis
Verzeichnis 2
datei1.txt
datei2.txt
datei3.txt
.
datei100.txt
Da ich weder das Datum noch irgendeinen anderen Wert als Referenz nehmen kann habe ich hier ein kleines Problem. Die einzigste Angabe die ich definitiv machen kann ist die Tatsache, dass es in beiden Ordnern beispielsweise 100 Dateien hat (nur die Anzahl der Dateien in den jeweiligen Verzeichnissen stimmt IMMER überein).
Hoffe es ist einigermaßen verständlich geworden
Entschuldigt bitte die etwas umständliche Formulierung, da ich aber selbst noch keinen Lösungsansatz habe fällt es mir schwer die Problemstellung detaillierter zu formulieren.
Schöne Grüße aus Stuttgart und vielen dank im voraus
Duke
bin durch Recherchearbeiten hier in diesem Forum gelandet und hab mir auch sehr aufmerksam viele Beiträge durchgelesen. Da ich absoluter Newbie auf dem Gebiet bin und mich auch mit Batchverarbeitungen kaum auskenne hoffe ich hier eine Lösung zu finden.
Falls so ein Thread schon besteht dann bitte ich dies zu entschuldigen aber habe in der DB keinen Beitrag gefunden der genau auf die Problemstellung zutrifft.
Folgendes Szenario:
Angenommen man hat zwei Verzeichnisse: Verzeichnis 1 und Verzeichnis 2. Diese Verzeichnisse beinhalten jeweils 100 Dateien, welche sich von der Dateigröße und Dateinamen unterscheiden.
Wie kann ich in einer Batch Datei darstellen, dass er aus dem Verzeichnis (Verzeichnis 1/Datei1.txt) mir den Namen "datei1" ins Verzeichnis 2/test. txt kopiert? Im Anschluss sollte mein 2. Verzeichnis die selben Dateinamen wie im anderen Verzeichnis besitzen aber es darf definitiv keine inhaltliche Änderung stattfinden.
Ergebnis sollte wie folgt aussehen:
Quelldateien
Verzeichnis 1
datei1.txt
datei2.txt
datei3.txt
.
datei100.txt
Zielverzeichnis
Verzeichnis 2
datei1.txt
datei2.txt
datei3.txt
.
datei100.txt
Da ich weder das Datum noch irgendeinen anderen Wert als Referenz nehmen kann habe ich hier ein kleines Problem. Die einzigste Angabe die ich definitiv machen kann ist die Tatsache, dass es in beiden Ordnern beispielsweise 100 Dateien hat (nur die Anzahl der Dateien in den jeweiligen Verzeichnissen stimmt IMMER überein).
Hoffe es ist einigermaßen verständlich geworden
Entschuldigt bitte die etwas umständliche Formulierung, da ich aber selbst noch keinen Lösungsansatz habe fällt es mir schwer die Problemstellung detaillierter zu formulieren.
Schöne Grüße aus Stuttgart und vielen dank im voraus
Duke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 25380
Url: https://administrator.de/contentid/25380
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo Duke,
ich verstehe, dass Du wie auf Kohlen gesessen und auf ne Antwort gewartet hast, aber ich mußte denn eben diese erst verdienen.
Habe gerade mal die Historie hier durchsucht und auf zwei Beiträge gestoßen, die prinzipiell das Umbennen der Dateien angehen. Wenn ich das richtig sehe, wäre da nur ein wenig Handarbeit nötig, um Dein Problem dann auch zu lösen.
Schau doch mal in die Diskussion hier:
Etwas weiter unten gibt es dann das Gleiche als .vbs
So, muss leider weiter arbeiten...
Gruß A-J
ich verstehe, dass Du wie auf Kohlen gesessen und auf ne Antwort gewartet hast, aber ich mußte denn eben diese erst verdienen.
Habe gerade mal die Historie hier durchsucht und auf zwei Beiträge gestoßen, die prinzipiell das Umbennen der Dateien angehen. Wenn ich das richtig sehe, wäre da nur ein wenig Handarbeit nötig, um Dein Problem dann auch zu lösen.
Schau doch mal in die Diskussion hier:
Etwas weiter unten gibt es dann das Gleiche als .vbs
So, muss leider weiter arbeiten...
Gruß A-J
Moin Akan,
ungewöhnliche Anforderung...aber was soll's.
Eine mögliche Lösungsskizze (ich hab ein paar Zeilen mehr daraus gemacht wegen der Lesbarkeit):
Das ECHO in der vorletzten Zeile kannst Du nach dem Testen auskommentieren.
Ergebnis bei obigem Bat ist (Simulation):
Rename "D:\temp\135334.pdf" "thisping.log"
Rename "D:\temp\ADtoolkitUserManual.pdf" "Dauerping.bat"
Rename "D:\temp\allpathsGT200.lst" "Dauerping.log"
Rename "D:\temp\backup.log" "GetAllDateTimeInfos.bat"
Rename "D:\temp\backup2.log" "putty-0.57-installer.exe"
Rename "D:\temp\Beispiel.asc" "Dauerping,bat.txt"
Rename "D:\temp\BEISPIEL.TXT" "Kopie von GetAllDateTimeInfos.bat"
Rename "D:\temp\cat_smilies.jpg" "DateWorkshop.txt"
usw.
HTH Biber
ungewöhnliche Anforderung...aber was soll's.
Eine mögliche Lösungsskizze (ich hab ein paar Zeilen mehr daraus gemacht wegen der Lesbarkeit):
::---snipp Rename2SameName.bat------------------
@echo off & setlocal
Set "OriginalDir=e:" & set "FakeDir=D:\temp"
::Vorangehende Zeile Anpassen!!!
dir /b /A:-d %fakeDir%\*.*|find /n ".">%temp%\Fake.dir
dir /b /A:-d %originalDir%\*.*|find /n ".">%temp%\original.dir
for /f "delims=] tokens=1,2*" %%i in (%temp%\fake.Dir) do call :RenameFile %%i %%j
goto :eof
~~~~~~~~
:RenameFile
for /F "skip=2 delims=] tokens=1,2" %%i in ('find "%1]" %temp%\Original.Dir') do echo Rename "%FakeDir%\%2" "%%j"
goto :eof
::---snapp Rename2SameName.bat-------------
Das ECHO in der vorletzten Zeile kannst Du nach dem Testen auskommentieren.
Ergebnis bei obigem Bat ist (Simulation):
Rename2SameName.bat
Rename "D:\temp\1234.pdf" "shelexec.zip"Rename "D:\temp\135334.pdf" "thisping.log"
Rename "D:\temp\ADtoolkitUserManual.pdf" "Dauerping.bat"
Rename "D:\temp\allpathsGT200.lst" "Dauerping.log"
Rename "D:\temp\backup.log" "GetAllDateTimeInfos.bat"
Rename "D:\temp\backup2.log" "putty-0.57-installer.exe"
Rename "D:\temp\Beispiel.asc" "Dauerping,bat.txt"
Rename "D:\temp\BEISPIEL.TXT" "Kopie von GetAllDateTimeInfos.bat"
Rename "D:\temp\cat_smilies.jpg" "DateWorkshop.txt"
usw.
HTH Biber
Moin Akan,
Okay, auskommentieren war unglücklich ausgedrückt.. löschen wäre eindeutiger. Sorry.
Also so:
:RenameFile
for /F "skip=2 delims=] tokens=1,2" %%i in ('find "%1]" %temp%\Original.Dir') do (
echo Rename "%FakeDir%\%2" "%%j" )
goto :eof
Dann ist es scharf.
Grüße Biber
[Edit]
Vielen Dank und bis zum nächsten Batch
[/Edit]
Das ECHO in der vorletzten Zeile kannst Du nach dem Testen auskommentieren.
Okay, auskommentieren war unglücklich ausgedrückt.. löschen wäre eindeutiger. Sorry.
Also so:
:RenameFile
for /F "skip=2 delims=] tokens=1,2" %%i in ('find "%1]" %temp%\Original.Dir') do (
goto :eof
Dann ist es scharf.
Grüße Biber
[Edit]
*dirNatürlichAuchEinenRüberReich*
*jederzeitGerneUndDankbarAnnehme*Vielen Dank und bis zum nächsten Batch
[/Edit]