grikolla
Goto Top

Dateien aus verschiedenen Ordnern umbenennen und in neue Datei speichern

Hallo zusammen,
ich habe einen PC mit Windows 7 Prof. und einen Laptop mit Windows 10 Home.
Darauf sollen auch die Batch-Proramme laufen.

Mein Anliegen:
Ich habe eine Anzahl von Ordern mit Unterdateien.
Die Unterdateien sind alle .mp3-Dateien.
Es sollen nun diese Unter-Dateien umbenannt werden.

Als Beispiel:
unter dem Ordner <42 kkkkk> stehen folgende .mp3-Dateien.
01 - The City Of New Orleans.mp3
02 - Bye, Bye Fraeulein.mp3
03 - All I know.mp3
04 - Kiss and Say Goodbye.mp3
05 - Huh Babe (Uh! Babe).mp3
06 - Nothing Compares 2 U.mp3
Die Anzahl der .mp3- Dateien kann varieren .. bis zu 40

Von den übergeordneten Ordnern gibt es auch mehrere
wie oben zu sehen --> 42.
Ich will nun von allen übergeorneten Ordnern (wie hier 42 kkkkk )
die darunterliegenden .mp3-Dateien umbenennen.

Statt 01 - The City Of New Orleans.mp3 soll auf
0001 The City Of New Orleans.mp3 umbenannt werden
und dann fortlaufend bis irgendwann 0111 und weiter.

Alle umgewandelten .mp3-Dateien sollen dann, wenn die letzte
Datei erreicht ist auf einen vorbestimmten Zielordner (frei wählbar über Variable)
kopiert werden. Gleichzeitig soll die letzte Nummer, entsprechend der Anzahl
der .mp3-Dateien im Ordner (hier 42 kkkkk ) als Zahl (hier 0006) übergeben
werden. Diese Zahl wird benötigt für den nächsten Ordner um die
darunterliegenden .mp3-Dateien weiterzuzählen und wieder auf den
vorbestimmten Zielordner zu kopieren.

Was noch wichtig ist, der Adresspfad von allen Ordnern (wie hier 42 kkkkk )
unter denen .mp3-Dateien liegen wird von mir als Variable bereitgestellt.

Ich hoffe daß durch diese Beschreibung mein Anliegen in ein
Batch-Programm umgesetzt werden kann.

In Batch-Prorammierung bin ich noch ein blutiger Anfänger, deshalb wäre
es schön, wenn das Programm auch erläutert würde. Denn ich will auch
verstehen warum es so programmiert wurde, denn die Beschreibung
unter Help im DOS-Promt ist nur für Fortgeschrittene zu verstehen.

Beste Grüße
Grikolla

Content-Key: 3978819410

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

Ausgedruckt am: 19.03.2024 um 07:03 Uhr

Mitglied: Doskias
Doskias 19.09.2022 um 10:14:21 Uhr
Goto Top
Moin,

ein paar kurze Statements von mir dazu:
ich habe einen PC mit Windows 7 Prof. und einen Laptop mit Windows 10 Home.
Wieso noch Windows 7? Mach ein Update face-wink

Darauf sollen auch die Batch-Proramme laufen.
Wieso auf beiden. reicht nicht einmal?

Ich hoffe daß durch diese Beschreibung mein Anliegen in ein
Batch-Programm umgesetzt werden kann.
Kann es sicherlich, aber warum Batch?

In Batch-Prorammierung bin ich noch ein blutiger Anfänger, deshalb wäre
es schön, wenn das Programm auch erläutert würde. Denn ich will auch
verstehen warum es so programmiert wurde, denn die Beschreibung
unter Help im DOS-Promt ist nur für Fortgeschrittene zu verstehen.
Vergiss Batch und lerne gleich PowerShell. Die Befehle die du brauchst sind mehr oder weniger selbsterklärend und deine Aufgabe ist eigentlich recht simple, so dass es eine schöne Einsteigeraufgabe für PowerShell ist. Das ganze scheint für mich nicht dringend zu sein, also hast du eigentlich genug Zeit um dich mit den PowerShell-Grundlagen zu beschäftigen und dir selbst eine Lösung zu erarbeiten.

Gruß
Doskias
Mitglied: 3803037559
Lösung 3803037559 19.09.2022, aktualisiert am 20.09.2022 um 17:59:13 Uhr
Goto Top
=> Batch
@echo off &setlocal enabledelayedexpansion
:: Quellordner mit den Unterordnern
set "QUELLORDNER=D:\quelle"  
:: Zielordner
set "ZIELORDNER=D:\ziel"  
:: Dateifilter
set "FILEFILTER=*.mp3"  
:: Zählervariable
set cnt=1
:: fur die Ordner der ersten Ebene sortiert nach Name
for /f "delims=" %%d in ('dir /b /ad /on "%QUELLORDNER%\*"') do (  
:: jede mp3 Datei im Unterordner verarbeiten
    for /f %%a in ("%QUELLORDNER%\%%d\%FILEFILTER%"') do (  
:: zerlege den Dateinamen anhand des ersten dashes
	for /f "tokens=1,* delims=-" %%b in ("%%~nxa") do (  
:: Zähler mit führenden Nullen zusammensetzen
	   	set "counter=000!cnt!" &set counter=!counter:~-4!  
:: Datei mit neuem Namen ins Ziel kopieren
	   	copy "%QUELLORDNER%\%%d\%%a" "%ZIELORDNER%\!counter! %%c"  
:: Zähler um eins erhöhen
	   	set /a cnt+=1
	)
    )
)
=> Powershell
# quellordner
$quelle = 'D:\quelle'  
# zielordner
$ziel = 'D:\ziel'  
# jede mp3 Datei in allen Ordnern
Get-ChildItem $quelle -Recurse -Filter *.mp3 | ?{!$_.PSIsContainer} |  foreach-object{$count=1}{
    # Datei umbenennen und ins Ziel kopieren
    Rename-Item $_.Fullname -NewName "$('{0:D4}' -f $count)$($_.Name -replace '^\d+')" -PassThru | copy-item -Destination $ziel  
    # Zähler erhöhen
    $count++
}
Cheers over and out
certguy
Mitglied: Doskias
Doskias 19.09.2022 um 11:22:16 Uhr
Goto Top
jetzt lernt er aber nichts face-smile


Powershell könnte man noch mittels [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") und New-Object System.Windows.Forms.FolderBrowserDialog graphisch so gestalten, dass der Quell- und Ziel-Ordner via Fenster auswählbar wäre, aber ich bin grad zu Faul, dass bei dir einzubauen face-wink
Mitglied: 3803037559
3803037559 19.09.2022 aktualisiert um 11:27:37 Uhr
Goto Top
Zitat von @Doskias:

jetzt lernt er aber nichts face-smile
Wer sagt das das zwingend so ist?? Auch mit den Kommentaren in obigem Code kann man lernen wenn sich jemand Zeile für Zeile damit beschäftigt und dann die Befehle auch in der Doku nach schlägt und versteht!!
Wenn jemand tatsächlich lernen will dann tut er das auch. Jemand der das nicht tut fällt sowieso früher oder später mal auf die Fresse. Das ist nicht unser Problem.
Mitglied: Doskias
Doskias 19.09.2022 um 11:28:28 Uhr
Goto Top
Zitat von @3803037559:
Wer sagt das das zwingend so ist??
Meine Erfahrung face-wink

Auch mit den Kommentaren kann man lernen wenn sich jemand Zeile für Zeile damit beschäftigt und dann die Befehle auch in der Doku nach schlägt!!
Wenn jemand tatsächlich lernen will dann tut er das auch. Jemand der das nicht tut fällt sowieso irgendwann durchs Raster.
Da hast du Recht. Da habe ich etwas vorschnell geurteilt. Meiner Erfahrung nach wird die Lösung nur leider all zu oft einfach kopiert ohne im Nachgang die Dinge zu verstehen. Ich lasse mich aber gerne eines besseren belehren. Werden wir ja an künftigen Posts sehen face-wink

Gruß
Doskias
Mitglied: Grikolla
Grikolla 20.09.2022 um 13:54:12 Uhr
Goto Top
Hallo an Alle, speziell an certguy
Ich hätte nicht gedacht, daß ich so schnell Antwort bekomme, Danke.
Ich bin das 1.mal im Administrator-Forum und mit Batch-Programmen
hatte ich bis vor zwei Monaten noch nichts zu tun.
Zur Frage warum Windows 7 im PC?
Weil ich wichtige Programme und Dia-Scanner habe die mit Windows 10
nicht mehr laufen.

Jetzt zu Batch:
Leider funktioniert das Programm noch nicht so wie es soll.
Vielleicht habe ich auch den Ablauf nicht optimal erklärt.
In meinem Fall stehen unter F:/Neue Lieder/ weitere Unterordner.
Also F:/Neue Lieder/01 xxxxx
/02 xxxxx
/03 xxxxx bis /42 xxxxx
Diese werden nacheinander abgearbeitet
und unter diesen Unteordnern stehen dann meine .mp3-Files

unter /42 xxxxx steht dann:
01 - The City Of New Orleans.mp3
02 - Bye, Bye Fraeulein.mp3
03 - All I know.mp3
04 - Kiss and Say Goodbye.mp3
05 - Huh Babe (Uh! Babe).mp3
06 - Nothing Compares 2 U.mp3
Die Anzahl der .mp3-Files ist verschieden. Es können max. bis zu 50 Files sein.
also z.B --> F:/Neue Lieder/42 xxxxx/ und darunter
01 - The City Of New Orleans.mp3
02 - Bye, Bye Fraeulein.mp3 ... usw.
Hier das Batch mit meinen Quell & Ziel-Ordnern:

@echo off &setlocal enabledelayedexpansion
:: Quellordner mit den Unterordnern
set "QUELLORDNER=F:\Neue Lieder\42 kkkkk"
:: Zielordner
set "ZIELORDNER=F:\Zielordner"
:: Dateifilter
set "FILEFILTER=*.mp3"
:: Zählervariable
set cnt=1
Pause
:: jede mp3 Datei in sämtlichen Unterordnern verarbeiten
for /f "delims=" %%a in ('dir /b /s /a-d "%QUELLORDNER%\%FILEFILTER%"') do (
:: zerlege den Dateinamen anhand des ersten dashes
for /f "tokens=1,* delims=-" %%b in ("%%~nxa") do (
:: Zähler mit führenden Nullen zusammensetzen
set "counter=000!cnt!" &set counter=!counter:~-4!
:: Datei umbenennen
ren "%%a" "!counter! -%%c"
:: umbenannte Datei ins Ziel kopieren
copy "%%~dpa!counter! -%%c" "%ZIELORDNER%\"
:: Zähler um eins erhöhen
set /a cnt+=1
)
)
Echo %QUELLORDNER%
Echo %ZIELORDNER%
Echo counter= %counter%
Echo cnt=%cnt%
Pause
Hier das Ergebnis des Batch-Durchlaufs:

Drücken Sie eine beliebige Taste . . .
1 Datei(en) kopiert.
1 Datei(en) kopiert.
Syntaxfehler.
Das System kann die angegebene Datei nicht finden.
1 Datei(en) kopiert.
1 Datei(en) kopiert.
1 Datei(en) kopiert.
F:\Neue Lieder\42 kkkkk
F:\Zielordner
counter= 0006
cnt=7
Drücken Sie eine beliebige Taste . . .
unter Zielordner steht jetzt:
0001 - All I know.mp3
0002 - Kiss and Say Goodbye.mp3
0004 - Nothing Compares 2 U.mp3
0005 - The City Of New Orleans.mp3
0006 - Bye, Bye Fraeulein.mp3
Das 5. File <Kiss and Say Goodbye.mp3> wurde nicht kopiert
und die Reihenfolge stimmt nicht. (siehe oben unter 42 kkkkk)
und meine Original-Files unter 42 kkkkk wurden überschrieben
hier steht jetzt:
0001 - All I know.mp3
0002 - Kiss and Say Goodbye.mp3
0004 - Nothing Compares 2 U.mp3
0005 - The City Of New Orleans.mp3
05 - Huh Babe (Uh! Babe).mp3
0006 - Bye, Bye Fraeulein.mp3
-----------------------------------------------------------------------------------------
Insgesamt macht das Batch eigentlich schon sehr viel, bis auf das fehlende File.
Nur meine Quell-Datei soll nicht überschrieben werden und diie Reihenfolge
soll eingehalten werdem.
Und im Zielordner soll z.B. --> 0006 All I know.mp3 ohne Bindestrich stehen.
Also nach 0006 zwei Blanks.

Und nochwas: Bitte erklärt mir genau die For-Schleifen.
Die Zählerzusammensetzung hab ich verstanden. Zum counter wird cnt hinzugefügt
und immer nur die letzten 4 Zeichen verwendet, genial.
Aber bei den For-Schleifen komme ich nicht klar.
wie bei --> for /f "tokens=1,* delims=-" %%b in ("%%~nxa") do
Was macht die Zeile ren "%%a" "!counter! -%%c" ?
Wie wird der Dateiname zerlegt?
Was bedeuten delims, tokens, %%b , %%~nxa, %%~dpa, -%%c usw.
Ihr werdet vielleicht lachen über so viel Unverständnis, aber ich will es verstehen
und in der Batch-Programmierung vorwärtskommen.

Beste Grüße
Grikolla
Mitglied: 3803037559
3803037559 20.09.2022 aktualisiert um 14:02:24 Uhr
Goto Top
set "QUELLORDNER=F:\Neue Lieder\42 kkkkk"
Falsch, hier gehört nur der Rootordner rein also nur F:\Neue Lieder, Unterordner werden automatisch verarbeitet.
und meine Original-Files unter 42 kkkkk wurden überschrieben
Du wolltest ja das sie umbenannt werden genau das macht das Skript face-wink.
All I know.mp3 ohne Bindestrich stehen.
Kannst du ja leicht selbst in Zeile 17 ändern.
Was macht die Zeile ren "%%a" "!counter! -%%c" ?
Die Datei umbenennen face-smile.
Wie wird der Dateiname zerlegt?
Was bedeuten delims, tokens, %%b , %%~nxa, %%~dpa, -%%c usw.
for /? in die Konsole eintippen, da stehts ganz unten face-smile.
Mitglied: Grikolla
Grikolla 20.09.2022 um 17:11:46 Uhr
Goto Top
Hallo certguy,
Danke für die schnelle Antwort.

Habe den QUELLORDNER entsprechend geändert,
jetzt läuft das Programm mit 2 Ausnahmen.
Bei mehreren Ordnern z.B.
01 kkkk
02 kkkk
03 kkkk
wird der Inhalt vom 1. File (01 kkkk) nach dem Durchlauf
im Zielordner als letztes aufgelistet , hier nach (03 kkkk).
Das Programm beginnt also mit dem Kopieren immer erst
mit dem 2. File ( 02 kkkk) und zum Schluß mit (01 kkkk).

Und was mir ganz wichtig ist, im Quell-Ordner dürfen die
.mp3-Dateien auf keinen Fall überschrieben werden.
Das sind meine Originale.
Die umgeänderten .mp3-Dateien sollen ausschließlich nur
in den Zielordner kopiert werden.

Gruß
Grikolla
Mitglied: Doskias
Doskias 21.09.2022 um 08:26:59 Uhr
Goto Top
Moin,

Zitat von @Grikolla:
Und was mir ganz wichtig ist, im Quell-Ordner dürfen die
.mp3-Dateien auf keinen Fall überschrieben werden.
Das sind meine Originale.
Die umgeänderten .mp3-Dateien sollen ausschließlich nur
in den Zielordner kopiert werden.

das hast du in der Ausgangssituation aber anders beschrieben:

Zitat von @Grikolla:
Mein Anliegen:
Ich habe eine Anzahl von Ordern mit Unterdateien.
Die Unterdateien sind alle .mp3-Dateien.
Es sollen nun diese Unter-Dateien umbenannt werden.

Du willst also die Unter-Dateien nicht umbenennen. Du willst diese Dateien verschieben und Dabei umbenennen. Bitte genau aufpassen, was du dir wünscht. Es könnte in Erfüllung gehen face-wink

Gruß
Doskias
Mitglied: Grikolla
Grikolla 21.09.2022 um 13:34:36 Uhr
Goto Top
Hallo,

Zitat von @Doskias:
Du willst also die Unter-Dateien nicht umbenennen. Du willst diese Dateien verschieben und Dabei umbenennen. Bitte genau aufpassen, was du dir wünscht. Es könnte in Erfüllung gehen face-wink

Genau, ich will meine Unterdateien (.mp3-Dateien) im Quell-Ordner noch nicht umbenennen sondern sie in den Zielordner kopieren und erst dort umbenennen.

Wie ich sehe ist es gar nicht so einfach ein Anliegen so genau zu erklären, dass ein anderer weiß was man meint. Du hast recht, ich hätte mein Anliegen noch besser erklären sollen, aber wie man sieht ist das alles nicht so einfach.
Ich werde versuchen es nächstes mal besser zu machen.

Gruß
Grikolla
Mitglied: 3803037559
3803037559 21.09.2022 aktualisiert um 13:49:00 Uhr
Goto Top
Ist doch oben schon alles im Skript angepasst ...

me => over and out
Mitglied: Doskias
Doskias 21.09.2022 um 15:25:42 Uhr
Goto Top
Zitat von @3803037559:
Ist doch oben schon alles im Skript angepasst ...
me => over and out

Jupp ist es. Sind wir wieder bei meinem ersten Post. Selber machen lassen hat einen höheren Lerneffekt als das Fertige Skript zu verstehen
Mitglied: 3803037559
3803037559 21.09.2022 aktualisiert um 15:36:00 Uhr
Goto Top
Tja manchmal fehlen halt schon die Basics, so what da ist dann eh Hopfen und Malz verloren. 🖖
Mitglied: Grikolla
Grikolla 21.09.2022 um 18:02:40 Uhr
Goto Top
Ich habe eure Bemerkungen gelesen, nicht sehr schmeichelhaft.

Bisher kopierte ich immer die Quell-Datei (von Platte) in die Ziel-Datei auf Stick.
Das brachte mir den Fehler, daß die ersten .mp3-Files vom 1. Ordner immer als letztes
unter dem Ziel-Ordner abgespeichert wurden. Warum?.. vielleicht Laufzeitfehler
oder sonst was. Es ist ein USB3-Stick mit 100MB/S. Da sollte eigentlich nichts passieren.
Jetzt kopiere ich von Platte zu Platte dann funktioniert es.

Bis auf den Punkt, daß meine Quell-Dateien immer noch umbenannt werden.
Eueren Bemerkungen zur Folge werdet ihr keine Lust mehr haben das noch abzuändern.

Gruß
Grikolla
Mitglied: 3803037559
3803037559 21.09.2022 aktualisiert um 21:14:10 Uhr
Goto Top
Eueren Bemerkungen zur Folge werdet ihr keine Lust mehr haben das noch abzuändern.
Ähm, das zum Thema unsere Posts Lesen ..

Nur zur Info was ich geschrieben habe ...

Ist doch oben schon alles im Skript angepasst ...
Hast du wohl auch übersehen.🤔
Mitglied: Grikolla
Grikolla 22.09.2022 um 11:11:08 Uhr
Goto Top
Hallo,
Du schreibst --> me => over and out
Das verstehe ich nicht, wo soll das stehen?
Hier nochmal das Batch:

@echo off &setlocal enabledelayedexpansion

:: Quellordner mit den Unterordnern
set "QUELLORDNER=D:\Neue Songs"
:: Zielordner
set "ZIELORDNER=D:\Zielordner"
:: Dateifilter
set "FILEFILTER=*.mp3"
:: Zählervariable
set cnt=1
Pause
Mitglied: 3803037559
3803037559 22.09.2022 aktualisiert um 11:14:46 Uhr
Goto Top
Hier : Ist doch oben schon alles im Skript angepasst ...

screenshot

Das verstehe ich nicht, wo soll das stehen?
Na oben wo das Skript steht ... 🙆
Mitglied: Grikolla
Grikolla 22.09.2022 um 11:15:11 Uhr
Goto Top
Nochmal das Batch:
@echo off &setlocal enabledelayedexpansion

:: Quellordner mit den Unterordnern
set "QUELLORDNER=D:\Neue Songs"
:: Zielordner
set "ZIELORDNER=D:\Zielordner"
:: Dateifilter
set "FILEFILTER=*.mp3"
:: Zählervariable
set cnt=1
Pause
:: jede mp3 Datei in sämtlichen Unterordnern verarbeiten
for /f "delims=" %%a in ('dir /b /s /a-d "%QUELLORDNER%\%FILEFILTER%"') do (
:: zerlege den Dateinamen anhand des ersten dashes
for /f "tokens=1,* delims=-" %%b in ("%%~nxa") do (
:: Zähler mit führenden Nullen zusammensetzen
set "counter=000!cnt!" &set counter=!counter:~-4!
:: Datei umbenennen
ren "%%a" "!counter! -%%c"
:: umbenannte Datei ins Ziel kopieren
copy "%%~dpa!counter! -%%c" "%ZIELORDNER%\"
:: Zähler um eins erhöhen
set /a cnt+=1
)
)
Pause

Wurde vorher nicht alles kopiert
Mitglied: 3803037559
3803037559 22.09.2022 aktualisiert um 11:21:43 Uhr
Goto Top
Wie gesagt s. oben da steht es schon alles im Code so abgeändert wie du es geändert haben wolltest ... wie oft muss ich das noch wiederholen, langsam nervt's gewaltig.

So jetzt bin ich endgültig raus aus dem Thread.

Viel Spaß noch
ciao.
Mitglied: Doskias
Doskias 22.09.2022 um 12:14:35 Uhr
Goto Top
Zitat von @Grikolla:
Ich habe eure Bemerkungen gelesen, nicht sehr schmeichelhaft.
Stimmt schon, aber gibst du dir wirklich Mühe und nimmst dir Zeit es zu verstehen. Ich denke nicht. Wieso ich das denke. In Zeile 12 steht:
:: jede mp3 Datei im Unterordner verarbeiten
Dennoch gibst du die Unterordner an und fragst:
set "QUELLORDNER=F:\Neue Lieder\42 kkkkk"
Stellt sich mir die Frage: Wieso verstehst du den Kommentar nicht, dass die Unterordner automatisch berücksichtigt werden?

Bis auf den Punkt, daß meine Quell-Dateien immer noch umbenannt werden.
Und? Wo ist das Problem? Du hast oben doch das Skript stehen? Wenn du verstehst was in in jeder Zeile machst, was durch die Kommentare durchaus möglich sein sollte, dann ändere das Skript doch einfach um. Es gibt zwei Möglichkeiten:
1. Du benennst die Dateien erst beim Kopieren um. Dafür musst du erst den neuen Dateinamen erstellen und dann im Kopierbefehl mitgeben.
2. Du verschiebst erst deine Dateien auf den USB Stick und lässt sie dort sortieren/umbenennen.

Was davon möglich ist kann ich dir nicht sagen, da ich die Dateimenge nicht kenne.

Eueren Bemerkungen zur Folge werdet ihr keine Lust mehr haben das noch abzuändern.
Es geht (zumindest bei mir) nicht um Lust. Bei mir geht es etwas ums Prinzip face-wink. Mein Prinzip ist, die Leute dahin zu bewegen, dass sie das Problem selbst lösen können, auch wenn das ggf. länger dauert. Darunter leiden auch meine Azubis regelmäßig face-wink Das ist grade bei der Programmierung von Skripten relativ einfach. Grade Powershell bietet dir unendlich viele Wege, die zum Ziel führen. Manche einfach zu programmieren, manche brauchen mehr Wissen. Du selbst schreibst, dass du Anfänger bist, also wäre es bei dir durchaus ein einfaches an deinem eigenen Beispiel Powershell zu lernen. Wo ist das Problem es selbst zu machen? Du hast das Thema am 18.09.2022 erstellt, heute ist der 22.09.2022. Es sind 4 Tage vergangen. In den 4 Tagen hättest du die entsprechenden Befehle in Powershell durchaus lernen können und das Skript selbst schreiben. Und ich lege hier vielleicht 1 Stunde am Tag zugrunde, da du Enduser und kein Admin bist. face-wink
Dennoch resultiert durch mein Prinzip für dich jetzt folgendes Problem: Ich werde nur in Ausnahmen fertige Skripts hier posten. Ich helfe gerne, wenn jemand sein Skript hier postet und den Fehler genau beschreiben kann. Das ist, in deinem Fall, nicht so, denn du hast hier nicht dein Skript, sondern das Skript eines Anderen.
Und Punkt 2: Sofern es nicht absolut erforderlich ist, und das ist es in deinem Fall nicht, weigere ich mich "alte" Techniker zu unterstützen. Es gibt, meiner Meinung nach, heutzutage keinen Grund mehr mit Batch anzufangen. Wenn man nur Batch kann und kein Powershell, ok. Wenn ich aber jetzt etwas neues lerne, dann lerne ich doch das, was mehr Möglichkeiten hat. Powershell kann mehr und ist einfacher aufgebaut. Wie du in dem Beispiel oben siehst, braucht Powershell nicht einmal die Hälfte der Zeilen und ist mit den Befehlen darüber hinaus noch selbsterklärend. Klar, als Anfänger wirst du vielleicht sogar mehr Zeilen benötigen, weil du nicht auf die "komprimierte Lösung komsmt, aber es wird funktionieren. Du hast zum Beispiel gefragt:
Was macht die Zeile ren "%%a" "!counter! -%%c" ?
Was rename-item, copy-item oder -replace macht, braucht man nicht fragen, weil die Befehle und Operatoren selbsterklärend sind.

Hoffe ich habe meinen Standpunkt verständlich dargelegt.

Gruß
Doskias
Mitglied: Grikolla
Grikolla 23.09.2022 um 13:11:56 Uhr
Goto Top
Ich bin weder IT-noch Computer- Spezialist und auch kein Programmier,
sondern nur Software-Anwender. Auf die Batch-Programmierung bin ich
durch "googeln" gekommen. Ich hatte gehofft auf einfache Weise
Dateien umbenennen zu können. Einfache Operanden konnte ich noch
verstehen, aber die verschachtelten For-Schleifen mit ihren "Hieroglyphen"
waren für mich völlig unverständlich. Da hätte ich eine genaue Erkärung
benötigt. Ihr seid hier alle "Cracks" und setzt schon fundamentales
Wissen voraus. Powershell sagt mir garnichts, und ich werde mich mit
meinem Alter auch nicht damit beschäftigen.

Ich habe verstanden, daß ich mit meinen laienhaften Kenntnissen
hier im Forum nichts zu suchen habe. Trotzdem bedanke ich mich
für euere Bemühungen.
Das Thema ist damit für mich erledigt.

Gruß
Grikolla