Datei suchen und umbennen
Mein Ziel ist es, eine gewisse Datei in einer Ordner-Struktur zu finden und diese in einem ganz bestimmten Ordner der Ordnerstruktur zu verschieben und diese auch noch umbenennen.
Nur mal so vorab, ich nutze gerne Batchdateien um einfache Probleme, die in irgendeiner Art und Weise relativ zeitaufwändig sind, schneller zu lösen. Allerdings waren meine Probleme bisher relativ simpel und mein nächstes "Projekt" übertrifft meine momentane Grenze.
Ich versuche einmal detailiert zu beschreiben, was ich tun möchte:
Vorab würde ich gern 2 Parameter setzen: eine 6-stellige Auftragsnummer und eine Projektnummer, die wohl meist als 09/01234 eingetragen wird, aber als 09-01234 behandelt werden soll.
Folgende Dateistruktur:
Ich möchte nun eine Datei finden, die eine bestimmte Projektnummer im Namen hat z.B. 09-01234 und sich in irgendeinem "Ordner 1" befindet. Wenn ich die Datei gefunden habe, soll er diese nehmen und diese innerhalb des Büros in Ordner 2 verschieben. Hier kommt mein erstes Problem, wenn ich die Datei mit "find" finde, dann weiß ich spontan nicht, wie ich diese verschiebe, da ich mit der Ausgabe nicht wirklich viel anfangen kann.
Womit ich einfach nicht zurecht komme ist dann folgendes: Ich habe also dann eine Datei in ein Verzeichnis verschoben die z.B. folgenden Namen hat: Projekt_Nürnberg_09-01234.xls . Nun soll diese Datei in folgendes umbenannt werden: Projekt_Nürnberg_09-01234_123456.xls .
Im optimalfall sollte dann noch ein Wert in eine ganz bestimmte Excelzelle eingetragen werden, aber dazu hab ich vorhin was gesehn, vielleicht krieg ich das selbst hin. Wobei auch ein einfaches öffnen der Datei erstmal vollkommen ausreichen würde.
Folgendes habe ich bereits:
set /P PROJEKTNUMMER=
set /P AUFTRAGSNUMMER=
Hier kommt mein erstes Problem, er soll erstmal überprüfen ob die Projektnummer richtig eingetragen wurde, aber ich komm einfach mit diesem for /F delims nicht wirklich klar. Ich hab mal etwas angefangen aber es noch nicht testen können
for /F "delims=/ tokens=1,2" %%i in %PROJEKTNUMMER% do set /P PROJEKTNUMMER2=%%i/%%j %%i-%%j
Aber wie bereits erwähnt ist dies das kleinere übel, kompliziert für mich wird es erst, wenn ich eine Datei finden muss, diese dann hernehmen und umbennen und auch noch verschieben muss. Ich kann einfach mit der find-Ausgabe nicht wirklich was anfangen, bzw. mein Wissen ist da zu begrenzt um es nutzen zu können.
Kann mir ganz speziell hier in diesem Schritt wer helfen? Für jede Antwort bin ich wirklich sehr dankbar.
Mit freundlichen Grüßen
maddiNson
Nur mal so vorab, ich nutze gerne Batchdateien um einfache Probleme, die in irgendeiner Art und Weise relativ zeitaufwändig sind, schneller zu lösen. Allerdings waren meine Probleme bisher relativ simpel und mein nächstes "Projekt" übertrifft meine momentane Grenze.
Ich versuche einmal detailiert zu beschreiben, was ich tun möchte:
Vorab würde ich gern 2 Parameter setzen: eine 6-stellige Auftragsnummer und eine Projektnummer, die wohl meist als 09/01234 eingetragen wird, aber als 09-01234 behandelt werden soll.
Folgende Dateistruktur:
Ordner\
Büro 1\
etc.
Ordner 1\
Ordner 2\
Büro 2\Ordner 2\
Ordner 1\
Ordner 2\
Büro 3\Ordner 2\
etc.
Ich möchte nun eine Datei finden, die eine bestimmte Projektnummer im Namen hat z.B. 09-01234 und sich in irgendeinem "Ordner 1" befindet. Wenn ich die Datei gefunden habe, soll er diese nehmen und diese innerhalb des Büros in Ordner 2 verschieben. Hier kommt mein erstes Problem, wenn ich die Datei mit "find" finde, dann weiß ich spontan nicht, wie ich diese verschiebe, da ich mit der Ausgabe nicht wirklich viel anfangen kann.
Womit ich einfach nicht zurecht komme ist dann folgendes: Ich habe also dann eine Datei in ein Verzeichnis verschoben die z.B. folgenden Namen hat: Projekt_Nürnberg_09-01234.xls . Nun soll diese Datei in folgendes umbenannt werden: Projekt_Nürnberg_09-01234_123456.xls .
Im optimalfall sollte dann noch ein Wert in eine ganz bestimmte Excelzelle eingetragen werden, aber dazu hab ich vorhin was gesehn, vielleicht krieg ich das selbst hin. Wobei auch ein einfaches öffnen der Datei erstmal vollkommen ausreichen würde.
Folgendes habe ich bereits:
set /P PROJEKTNUMMER=
set /P AUFTRAGSNUMMER=
Hier kommt mein erstes Problem, er soll erstmal überprüfen ob die Projektnummer richtig eingetragen wurde, aber ich komm einfach mit diesem for /F delims nicht wirklich klar. Ich hab mal etwas angefangen aber es noch nicht testen können
for /F "delims=/ tokens=1,2" %%i in %PROJEKTNUMMER% do set /P PROJEKTNUMMER2=%%i/%%j %%i-%%j
Aber wie bereits erwähnt ist dies das kleinere übel, kompliziert für mich wird es erst, wenn ich eine Datei finden muss, diese dann hernehmen und umbennen und auch noch verschieben muss. Ich kann einfach mit der find-Ausgabe nicht wirklich was anfangen, bzw. mein Wissen ist da zu begrenzt um es nutzen zu können.
Kann mir ganz speziell hier in diesem Schritt wer helfen? Für jede Antwort bin ich wirklich sehr dankbar.
Mit freundlichen Grüßen
maddiNson
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 13.11.2009 um 16:11:03 Uhr
Datei suchen und umbennen
#rgc = 626Kann mir ganz speziell hier in diesem Schritt wer helfen?
Hm, das ist aber keine Frage, die Wildfremden gestellt werden sollte. Für Probleme im Schritt gibts spezielle Foren.Content-ID: 129310
Url: https://administrator.de/forum/datei-suchen-und-umbennen-129310.html
Ausgedruckt am: 23.04.2025 um 07:04 Uhr
15 Kommentare
Neuester Kommentar

Auch dir eine beliebige nette erste Zeile geschrieben.
Vermeide es, mit Umlauten in Ordnernamen zu arbeiten, denn das wird ein weiterer Stolperstein.
Von daher darfst du den Schnippsel von Bastla nicht in Notepad erzeugen, sondern z.B in Edit
Gruß
umbennen Bibers Counter ....
noch 40 und derjenige welcher - kriegt ganz sicher einen netten Reim vom Beilschen Timo....
@Biber meinst du das Michael JacksonSyndrom Forum?
Vermeide es, mit Umlauten in Ordnernamen zu arbeiten, denn das wird ein weiterer Stolperstein.
Von daher darfst du den Schnippsel von Bastla nicht in Notepad erzeugen, sondern z.B in Edit
Gruß
umbennen Bibers Counter ....
noch 40 und derjenige welcher - kriegt ganz sicher einen netten Reim vom Beilschen Timo....
@Biber meinst du das Michael Jackson
@Timo

... aber grundsätzlich hast Du mit den Umlauten natürlich Recht.
@maddiNson
Soferne ich das richtig verstanden habe, würde ich (nicht nur wegen des "/P")
zugunsten von
verwerfen.
Zum Thema "Verschieben und umbenennen": Mit einem "
Grüße
bastla
Von daher darfst du den Schnippsel von Bastla nicht in Notepad erzeugen, sondern z.B in Edit
Wo hast Du einen Umlaut gefunden? Geschrieben hatte ich jedenfalls keinen (und schon gar nicht mit "edit.com") ... ... aber grundsätzlich hast Du mit den Umlauten natürlich Recht.
@maddiNson
Soferne ich das richtig verstanden habe, würde ich (nicht nur wegen des "/P")
for /F "delims=/ tokens=1,2" %%i in %PROJEKTNUMMER% do set /P PROJEKTNUMMER2=%%i/%%j %%i-%%j
set "PROJEKTNUMMER2=%PROJEKTNUMMER:/=-%"
Zum Thema "Verschieben und umbenennen": Mit einem "
move
" funktioniert das in einem Waschgang ...Grüße
bastla
Moin bastla,
<OT>
In "Büro 3" ist einer versteckt, aber ich sag jetzt nicht wo....
</OT>
Grüße und schönes Wochenende
Biber
<OT>
In "Büro 3" ist einer versteckt, aber ich sag jetzt nicht wo....
Zum Thema "Verschieben und umbenennen": Mit einem "
"Move" ist auch nicht ganz so tippfehlerträchtig....move
" funktioniert das in einem Waschgang ...</OT>
Grüße und schönes Wochenende
Biber

Zitat von @bastla:
@Timo
Wo hast Du einen Umlaut gefunden? Geschrieben hatte ich jedenfalls keinen (und schon gar nicht mit "edit.com") ...
@Timo
Wo hast Du einen Umlaut gefunden? Geschrieben hatte ich jedenfalls keinen (und schon gar nicht mit "edit.com") ...
@bastla:
Du nicht, aber das wird wohl "irgendjemand" an seine Ordnerstruktur
Ordner\
Büro 1\
usw anpassen....Büro 1\
btw:
edlin gibts ja auch noch unter XP
Grüße zurück
Edit - nicht edlin oder Notepad
@Biber - du linksüberholer....
Edit²
@bastla- wer lesen kann ist klar im Vorteil... Advantage
@Biber
Mein Hinweis hatte sich (nicht ganz leicht erkennbar
) auf
@Timo
... ansonsten hatte ich Dir ja oben schon Recht gegeben (und sage es auch gerne ausdrücklich: Umlaute in Pfad- und Ordnernamen sind pfui!
)
Schönes Wochenende
bastla
[Edit] War ein langer Tag ... [/Edit]
Mein Hinweis hatte sich (nicht ganz leicht erkennbar
Von daher darfst du den Schnippsel von Bastla nicht in Notepad erzeugen, sondern z.B in Edit
bezogen - und ich bin mir weiterhin sicher, dass in meinem "Schnipsel" kein Umlaut vorkommt (und auch, dass im Zweifelsfall mit diesem Code Datei-/Ordnernamen mit Umlauten wunschgemäß verarbeitet werden).@Timo
Du nicht, aber das wird wohl "irgendjemand" an seine Ordnerstruktur ... anpassen.
Wenn diese Ordnerstruktur ernst gemeint war, wird auch nach der Anpassung (da keiner der "Büro"-Ordner unmittelbar angesprochen werden muss) kein Umlaut im Batch benötigt ...... ansonsten hatte ich Dir ja oben schon Recht gegeben (und sage es auch gerne ausdrücklich: Umlaute in Pfad- und Ordnernamen sind pfui!
Schönes Wochenende
bastla
[Edit] War ein langer Tag ... [/Edit]

Servus,
nein - das ist ein (doppelter) running Gag und das Thema taucht hier einmal die Woche auf und es sollten eigentlich mittlerweile mehr gelöste Themen dazu hier zu finden sein, als Wasser auf dem Mond
Und der andere "runnning Gag" mit dem umbennen... hört sich für mich nach umrennen an
ja aber nur unter Umständen - löscht du irgendwann mal den Büro2 Ordner und legst Ihn danach neu an - "stimmt der "tolle ~1 ~2 ~3" Pfad nicht mehr...
Nur als kleine Zwischenfrage - war jetzt noch ein Punkt offen?
Gruß
das Thema wird hier scheinbar wirklich verpöhnt,
nein - das ist ein (doppelter) running Gag und das Thema taucht hier einmal die Woche auf und es sollten eigentlich mittlerweile mehr gelöste Themen dazu hier zu finden sein, als Wasser auf dem Mond
Und der andere "runnning Gag" mit dem umbennen... hört sich für mich nach umrennen an
Aber mit den tollen Ordnernamen mit diesem ~ da drin funktionierts wunderbar :d
ja aber nur unter Umständen - löscht du irgendwann mal den Büro2 Ordner und legst Ihn danach neu an - "stimmt der "tolle ~1 ~2 ~3" Pfad nicht mehr...
Nur als kleine Zwischenfrage - war jetzt noch ein Punkt offen?
Gruß

Servus,
gib doch einfach mal
Da wird "eigentlich" alles erklärt
Gruß
gib doch einfach mal
set /?
for /?
in einer DosBox ein.for /?
Da wird "eigentlich" alles erklärt
Gruß

Servus,
so besser?
Gruß
for /?
/snipZusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie können jetzt folgende Syntax verwenden:
Sie können jetzt folgende Syntax verwenden:
%~I - Expandiert %I und entfernt alle umschließenden Anführungszeichen (").
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - Erzeugt nur den Laufwerkbuchstaben von %I.
%~pI - Erzeugt nur den Pfad von %I.
%~nI - Erzeugt nur den Dateinamen von %I.
%~xI - Erzeugt nur die Dateierweiterung von %I.
%~sI - Erzeugter Pfad enthält nur kurze Dateinamen.
%~aI - Erzeugt die Dateiattribute von %I.
%~tI - Erzeugt Datum und Zeit von %I.
%~zI - Erzeugt die Dateigröße von %I.
%~$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
angegebenen Verzeichnisse und expandiert die erste
gefundene Datei %I zu dem vollständigen Dateinamen.
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - Erzeugt nur den Laufwerkbuchstaben von %I.
%~pI - Erzeugt nur den Pfad von %I.
%~nI - Erzeugt nur den Dateinamen von %I.
%~xI - Erzeugt nur die Dateierweiterung von %I.
%~sI - Erzeugter Pfad enthält nur kurze Dateinamen.
%~aI - Erzeugt die Dateiattribute von %I.
%~tI - Erzeugt Datum und Zeit von %I.
%~zI - Erzeugt die Dateigröße von %I.
%~$PATH:I - Durchsucht die in der PATH-Umgebungsvariablen
angegebenen Verzeichnisse und expandiert die erste
gefundene Datei %I zu dem vollständigen Dateinamen.
so besser?
Gruß