Etwas seltsames passiert mir. Ich habe vor einigen Jahren eine Umbenennungs-Batch-Datei zusammengestellt (mit einer Menge Hilfe von verschiedenen Stellen, einschließlich StackOverflow) für ein Projekt, an dem ich gerade arbeitete. Es würde einige Dateien umbenennen und ihnen die ersten 5 Zeichen aus dem übergeordneten Ordner (z. B. "12345 - Site") voranstellen. Ich habe die BAT-Datei für ein paar Monate nicht verwendet und muss jetzt, aber es funktioniert nicht richtig.Umbenennen BAT plötzlich nicht richtig funktioniert
Es ist das Umbenennen der Dateien, aber es verwendet den gesamten übergeordneten Ordner statt nur die ersten 5 Zeichen. Ich habe es auf einem anderen PC getestet und habe es in Ordnern ausgeführt, wo es vorher funktioniert hat.
Hat jemand irgendwelche Ideen, warum das passieren würde, wie es zu beheben, oder was ich in die Batch-Datei hinzufügen könnte, um das gleiche Ergebnis zu erzielen?
Nur um darauf hinzuweisen, bin ich ein kompletter Neuling und habe viele Nächte damit verbracht, die erste Batch-Datei durch Versuch und Irrtum zu bearbeiten und aus ähnlichen Batch-Dateianfragen im Web auszuschneiden und einzufügen.
Mein aktueller Code:
for %%z in ("%cd%") do (
for %%a in ("%%~dpz%\.") do (
for /f "delims=" %%i in ('dir /b /a-d *.pdf,*.xlsx,*.docx,*.xlsm') do move "%%i" "%%~nxz %%i"))
Es gibt nichts im Code, der etwas zu "ersten 5 Zeichen" verkürzen könnte. Wenn es das vorher getan hat, war es eine andere Batchdatei. – Stephan
Es sieht so aus als wäre mein Original vorbei geschrieben worden. :(Gibt es eine Möglichkeit, die ersten 5 Zeichen davon zu extrahieren? – Legg1979
die Absicht Ihres Stapels ist mir nicht klar, die erste FOR-Schleife sollte nur einmal ausgeführt werden, für den Wert des aktuellen Verzeichnisses und den Index% a von der zweite FOR wird überhaupt nicht benutzt, er wiederholt nur den ersten% z-Index.Was ist der Wert, aus dem Sie die ersten 5 Zeichen extrahieren möchten? –