Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 13.11.2009 um 16:11:03 Uhr
Datei suchen und umbennen
#rgc = 626
Kann 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.
GELÖST

Datei suchen und umbennen

Frage Entwicklung Batch & Shell

Mitglied: maddiNson

maddiNson (Level 1) - Jetzt verbinden

13.11.2009, aktualisiert 16:15 Uhr, 4262 Aufrufe, 15 Kommentare

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:

Ordner\
Büro 1\
Ordner 1\
Ordner 2\
Büro 2\
Ordner 1\
Ordner 2\
Büro 3\
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
Mitglied: bastla
13.11.2009 um 15:22 Uhr
Hallo maddiNson und willkommen im Forum!

Da ich momentan nicht mehr Zeit habe, nur ein erster Ansatz:
01.
@echo off & setlocal 
02.
set "Basis=D:\Ordner" 
03.
 
04.
for /f "delims=" %%i in ('dir /s /b /ad "%Basis%\Ordner1"') do echo %%i --^> %%~dpiOrdner2 
05.
popd
Grüße
bastla
Bitte warten ..
Mitglied: 60730
13.11.2009 um 16:03 Uhr
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 Jackson Syndrom Forum?
Bitte warten ..
Mitglied: bastla
13.11.2009 um 18:38 Uhr
@Timo
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
zugunsten von
set "PROJEKTNUMMER2=%PROJEKTNUMMER:/=-%"
verwerfen.

Zum Thema "Verschieben und umbenennen": Mit einem "move" funktioniert das in einem Waschgang ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
13.11.2009 um 18:55 Uhr
Moin bastla,

<OT>
Zitat von bastla:
@Timo
Wo hast Du einen Umlaut gefunden?
In "Büro 3" ist einer versteckt, aber ich sag jetzt nicht wo....

Zum Thema "Verschieben und umbenennen": Mit einem "move" funktioniert das in einem Waschgang ...
"Move" ist auch nicht ganz so tippfehlerträchtig....
</OT>

Grüße und schönes Wochenende
Biber
Bitte warten ..
Mitglied: 60730
13.11.2009 um 19:00 Uhr
Zitat von bastla:
@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....

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 BeckerBastla
Bitte warten ..
Mitglied: bastla
13.11.2009 um 19:32 Uhr
@Biber
Mein Hinweis hatte sich (nicht ganz leicht erkennbar ) auf
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]
Bitte warten ..
Mitglied: maddiNson
16.11.2009 um 11:15 Uhr
Also ich möchte euch allen für eure Antwort danken. Ich bin schon ein kleines Stückchen weiter.

Das Problem mit dem umbenennen und verschieben funktioniert mit MOVE eigentlich wunderbar. So sieht das momentan aus:

MOVE /-Y %BASIS%\%BUERO%\b_Projektnummer\%DATEINAME%.xls %BASIS%\%BUERO%\%AUFTRAGSART%\%DATEINAME%_%AUFTRAGSNUMMER%.xls

Aber ich habs so lang probiert und das Thema wird hier scheinbar wirklich verpöhnt, aber ich kriege es einfach nicht hin eine Datei zu suchen, die %PROJEKTNUMMER2% im Namen hat und den Namen dieser ohne dem .xls hinten dran in %DATEINAME% abzulegen.



Zu den Ordnern mit Umlaufen. Die Büro-Ordner haben da nunmal das Ü drin und ich kanns nicht ändern. Aber mit den tollen Ordnernamen mit diesem ~ da drin funktionierts wunderbar :d
Bitte warten ..
Mitglied: 60730
16.11.2009 um 11:46 Uhr
Servus,

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ß
Bitte warten ..
Mitglied: maddiNson
16.11.2009 um 11:53 Uhr
Mal von meiner ganz speziellen Suche-Frage nein.

Wie gesagt, ich kriege es einfach nicht hin und finde zwar viel im Bezug auf das Suchen von Dateien, dennoch hilft mir da nicht wirklich etwas weiter.

Mein letztes Problem ist also eine Datei zu finden und deren Name ohne Endung in %DATEINAME% zu hinterlegen. Dann dürfte, wie ich denke, alles passen.
Bitte warten ..
Mitglied: bastla
16.11.2009 um 12:41 Uhr
Hallo maddiNson!
Mein letztes Problem ist also eine Datei zu finden und deren Name ohne Endung in %DATEINAME% zu hinterlegen.
Je nach Ausgangsordner etwa so:
for /f "delims=" %%i in ('dir /b /s "%BASIS%\%BUERO%\*%PROJEKTNUMMER2%*.*"') do set "DATEINAME=%%~ni"
Grüße
bastla
Bitte warten ..
Mitglied: maddiNson
16.11.2009 um 13:39 Uhr
Ich danke vielmals. Ich habs eben getestet und es hat auch funktioniert. Allerdings hätte ich noch gern eine letzte Frage, was macht dieser letzter Befehlt genau? Also ich würde es auch gern verstehen.
Bitte warten ..
Mitglied: 60730
16.11.2009 um 13:43 Uhr
Servus,

gib doch einfach mal
set /?
for /?
in einer DosBox ein.

Da wird "eigentlich" alles erklärt

Gruß
Bitte warten ..
Mitglied: maddiNson
16.11.2009 um 14:05 Uhr
Ach ganz so unklug bin ich dann doch nicht. Die einzelnen Befehle sind mir durchaus bewusst bzw. ich hab deren Hilfe schonmal gelesen. Allerdings versteh ich trotzdem nicht was genau in in dieser einen Zeile vor sich geht. Ganz besonders das Ende mit %%~ni, keine Ahnung wo das herkommt und was das genau bedeutet.
Bitte warten ..
Mitglied: 60730
16.11.2009 um 14:09 Uhr
Servus,

for /?
/snip

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
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.

so besser?
Gruß
Bitte warten ..
Mitglied: maddiNson
16.11.2009 um 14:22 Uhr
Ja genau das wollte ich noch wissen. Ich danke für alles!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien umbennen und verschieben mit bash
Frage von sbsnewbieBatch & Shell3 Kommentare

Hallo Admisn, ich suche gerade nach einer Lösung für folgendes Problem: Ich habe zwei Dateien einmal 1. neue datei_datum_uhrzeit.txt ...

Batch & Shell
Dateien im Ordner auslesen und umbennen
Frage von jochengBatch & Shell10 Kommentare

Hi Leute Schönen Feiertag zuerst. Ich habe an diesem leider ein Problem. nutze ich um Bilder aus meinem Bilder ...

Batch & Shell
Batchdatei - CSV-Datei umbennen mit Zeitstempel
gelöst Frage von jweghornBatch & Shell7 Kommentare

Hallo zusammen, für mein Problem habe ich hier schon einiges gefunden, wurde aber für exakt meine Vorgabe nicht ganz ...

Batch & Shell
Batch: Word Datei kopieren und umbennen
Frage von ExcelNoob177Batch & Shell9 Kommentare

Hallo Gemeinde, ich möchte mir die Arbeit sparen 200 mal ein Worddokument zu kopieren und umzubenennen. Die Namen habe ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 10 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 17 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 104 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...