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 02.10.2009 um 12:11:42 Uhr
Verschoben von "Tools & Utilities" nach "Batch & Sowat".

Vermutlich ist dieser Beitrag die Mutter aller umbennen-running gag counter-Fortschreibungen.
Bei rgc=#621 hab ich aufgegeben...

Ordner umbenennen per Script

Frage Entwicklung Batch & Shell

Mitglied: bodyparts

bodyparts (Level 2) - Jetzt verbinden

20.09.2009, aktualisiert 05.10.2009, 4960 Aufrufe, 20 Kommentare

Hallo,

ich habe ca. 300 Ordner auf einer Partition X liegen. Diese Ordner liegen im Verzeichniss x:\Daten.
Die Ordner sind alle etwas umständlich benannt, um diese zu sortieren möchte ich gerne aus einer Txt Datei die in diesen 300 Ordnern liegt die Zeile in den Ordnernamen einbinden.
Irgendwie müssten das Umbennen fortgesetzt werden können wenn weitere Ordner dazu kommen.

evtl ne Idee, ich weiß wohl die Schritte aber wie man diese umsetzt nicht....

Gruß
Mitglied: bastla
20.09.2009 um 19:41 Uhr
Hallo bodyparts!

Ich fürchte, mit so detaillierten Angaben wie
... aus einer Txt Datei die in diesen 300 Ordnern liegt die Zeile in den Ordnernamen einbinden
könntest Du uns überfordert haben ...

aus einer zufällig ausgewählten Txt Datei die in diesen 300 Ordnern liegt irgendeine Zeile an beliebiger Position in den Ordnernamen einbinden ...
sollte aber zu machen sein, etwa unter Verwendung von Bausteinen wie "for /d", "set /p<TxtDatei" oder "for /f" und "findstr /n", etc

Grüße
bastla
Bitte warten ..
Mitglied: Biber
20.09.2009 um 20:04 Uhr
Moin bodyparts,
Zitat von bodyparts:
Die Ordner sind alle etwas umständlich benannt,
Irgendwie bin ich jetzt nicht wirklich überrascht davon...
Irgendwie müssten das Umbennen fortgesetzt werden können
Auch davon nicht...*seufz*...---> rgc=#616
ich weiß wohl die Schritte aber wie man diese umsetzt nicht....
Das Originalzitat ist wohl eher "Die Worte hör' ich schon, allein mir fehlt der Glaube".

Bitte, bodyparts, wenn Du doch die Schritte weisst, plaudere sie doch mal aus, menno.
Wir haben in diesem Seitenarm des Forums ein Art Kronzeugenregelung - Dir wird nichts passieren.

Verspricht
Biber
Bitte warten ..
Mitglied: bodyparts
02.10.2009 um 08:27 Uhr
moin...

ich möchte mal kurz den Stand klären...

also die Ordner liegen alle auf der Partition X in einem Hauptordner. Jeder dieser Ordner hat eine txt Datei aus der ich die erste Zeile auslesen möchte und den Ordner in dem diese liegt mit der Zeile am Anfang unbenennen möchte.

Wie man das händisch macht weiß ich, aber nicht wie ich das in ein Script binden kann.

Die TXT Datei sieht so aus Daten_info.txt, die erste Zeile kann bzw hat ein Leerzeichen also:

NAME C
.....
.....
....

usw

lg
Bitte warten ..
Mitglied: bastla
02.10.2009 um 12:01 Uhr
Hallo bodyparts!

Hatte eigentlich schon gar nicht mehr mit Dir gerechnet ...

Versuch es so:
01.
@echo off & setlocal 
02.
::Ordner immer mit abschließendem \ angeben 
03.
set "Ordner=X:\Daten\" 
04.
set "Datei=Daten_info.txt" 
05.
 
06.
for /d %%i in ("%Ordner%*.*") do call :ProcessDir "%%i" 
07.
pause 
08.
goto :eof 
09.
 
10.
:ProcessDir 
11.
set p Name=<"%~1\%Datei%" 
12.
for /f "tokens=1*" %%a in ("%Name%") do echo ren %1 "%%b" 
13.
goto :eof
Solange in der Zeile 12 das "echo" steht, wird der Befehl für das Umbenennen nur angezeigt, aber noch nicht ausgeführt.

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
03.10.2009 um 11:21 Uhr
guten Morgen Bastla....

ich musste diese Arbeit etwas verschieben.

Ich sehe grade, das nicht alle Ordner wohl diese TXT Datei besitzen. Okay das müssen die User ändern.

Wenn im ersten Ordner keine Txt ist, dann wird gemeldet, system kann die Datei nicht finden. Im fünften Testordner war sie da.

Zweiter Test Nur ein Ordner mit der TXT Datei meldet.... drücke taste.... keine Anzeige bzw auch keine Änderung wenn ich das echo mal wegnehme...

kann man auch später noch abfangen wenn ordner schon geändert worden wird, das evtl neue dazu kommen..?

Gruß
Bitte warten ..
Mitglied: bastla
03.10.2009 um 19:53 Uhr
Hallo bodyparts!
Ich sehe grade, das nicht alle Ordner wohl diese TXT Datei besitzen.
Um diesen Fall zu berücksichtigen, kannst Du folgende Zeile 11 einfügen:
if not exist "%~1\%Datei%" goto :eof
Soferne die Datei "Daten_info.txt" nicht aus anderen Gründen (mit dem gleichen Namen) erhalten bleiben muss, könntest Du zusätzlich die bisherige Zeile 12 ändern auf
for /f "tokens=1*" %%a in ("%Name%") do echo ren %1 "%%b" && echo ren  "%~1\%Datei%" "Datei_Info_erledigt.txt"
(das zweite "echo" soll wiederum ein gefahrloses Testen erlauben) und damit die "Daten_Info.txt" umbenennen um zu kennzeichnen, dass der Ordner bereits umbenannt wurde.

Im Übrigen macht es aber auch nix, wenn ein Ordner auf den selben Namen "umbenannt" wird - daher kann der Batch für längere Zeit eingesetzt werden, um auch später hinzukommende Ordner noch zu erfassen.

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
04.10.2009 um 11:43 Uhr
guten Morgen Bastla,

Änderungen habe ich geprüft, aber es passiert nichts.... in den Ordner x:\Daten sind ja ca. 350 Ordner die alle unterschiedlich benannt sind und in jedem dieser Ordner ist die txt Datei und weitere Daten.

Grüße

bp
Bitte warten ..
Mitglied: bastla
04.10.2009 um 12:36 Uhr
Hallo bodyparts!

Da ich mir nun gar nicht vorstellen kann, woran das liegt, noch ein Versuch: Füge die folgende Zeile unmittelbar nach der Zeile ":ProcessDir" ein:
echo %1 & dir /s /b "%~1\%Datei%"
Jetzt sollten zumindest alle Ordner bzw, wenn enthalten, auch die jeweilige "Daten_info.txt" (auch, wenn diese in einem Unterordner liegen sollte) oder eine diesbezügliche Fehlermeldung angezeigt werden - wenn nix zu sehen ist, stimmt die Ordnerangabe in Zeile 3 nicht.

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
04.10.2009 um 15:09 Uhr
Hallo Bastla...

wenn die "pause" drin ist, zeigt er mir den Ordner an und die txt Datei incl Pfad. Drücke ich dann weiter ist sofort schluss..... kann man zur Überprfüfung sich die erste Zeile der Txt Datei anzeigen lassen, in die der Ordner ja umbenannt / ergänzt werden soll.

Gruß
Bitte warten ..
Mitglied: bastla
04.10.2009 um 15:22 Uhr
Hallo bodyparts!

Du kannst nach der Zeile
set p Name=<"%~1\%Datei%"
ein
echo %Name%
einfügen oder alternativ auch schon davor
01.
for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%~1\%Datei%"^|findstr /b "1:"') do echo %%b
verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
04.10.2009 um 16:17 Uhr
okay...

soll ich die "tokens" Zeile gegen die neue ersetzen?

also die Zeile aus der txt Datei wird angezeigt, aber der Ordner wird nicht umbenannt....

also Pfad ist richtig, Datei und Dateiinhalt bzw die erste Zeile wird ausgelesen.

Habe die Token Zeile auch mal ausgetauscht, keine Änderung

kl edit

die erste Zeile wird als Befehl erkannt, somit die Meldung der Befehl kann nicht ausgeführt werden....
Bitte warten ..
Mitglied: bastla
04.10.2009 um 16:36 Uhr
Hallo bodyparts!
... aber der Ordner wird nicht umbenannt....
Solange vor dem "ren" ein "echo" steht, wird auch nur der Befehl zum Umbenennen angezeigt (das sollte aber eigentlich funktionieren) ...

Poste bitte einmal den derzeitigen Stand des Batches.

Und: Enthält die erste Zeile der Textdatei Anführungszeichen, bzw was folgt genau auf "Name"?

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
04.10.2009 um 17:25 Uhr
das mit dem echo ist mir schon klar....

hier der Stand, ich habe eine Testumgebung erstell, somit kanns nichts passieren..... leider tut es das ja auch .... ;>)

01.
********************************************************************************************** 
02.
@echo off & setlocal  
03.
 
04.
set "Ordner=X:\Daten\"  
05.
set "Datei=Daten_info.txt"  
06.
 
07.
for /d %%i in ("%Ordner%*.*") do call :ProcessDir "%%i"  
08.
pause 
09.
goto :eof  
10.
 
11.
:ProcessDir  
12.
echo %1 & dir /s /b "%~1\%Datei%" 
13.
if not exist "%~1\%Datei%" goto :eof 
14.
set p Name=<"%~1\%Datei%"  
15.
echo %Name% 
16.
 
17.
for /f "tokens=1*" %%a in ("%Name%") do ren %1 "%%b" && ren  "%~1\%Datei%" "Datei_Info_erledigt.txt" 
18.
rem for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%~1\%Datei%"^|findstr /b "1:"') do %%b 
19.
goto :eof 
20.
********************************************************************************************
die vorletzte Zeile ist mir nicht ganz klar bzw an welche Stelle so sie?

Gruß bp


[Edit Biber] Code in gleichnamige Tags gesetzt. [/Edit]
Bitte warten ..
Mitglied: bastla
04.10.2009 um 21:22 Uhr
Hallo bodyparts!

Die Zeilen 12, 15 und 18 (die vor der Zeile 13 sinnvoller wäre und in der das "echo" nach dem "do" fehlt - hier soll ja tatsächlich die erste Zeile nur angezeigt werden) sind für die Fehlersuche gedacht und sollten entsprechende Ausgaben produzieren, an denen Du Dich dann orientieren kannst - wenn Du dann noch aus dem "echo off" in Zeile 2 ein "echo on" machst, kannst Du ganz genau sehen, welche Befehle wie ausgeführt werden.

Abgesehen davon, dass meine letzte Frage oben noch nicht beantwortet ist, kann ich, solange Du nicht die entstandenen Ausgaben postest, nicht mehr tun, als deren Interpretation Dir zu überlassen ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
04.10.2009 um 21:51 Uhr
... konnte doch noch etwas tun, nämlich den schon ewig fehlenden "/" vor dem "p" nachtragen - so sollte es aber nun wirklich was werden:
01.
@echo off & setlocal 
02.
 
03.
set "Ordner=X:\Daten\" 
04.
set "Datei=Daten_info.txt" 
05.
 
06.
for /d %%i in ("%Ordner%*.*") do call :ProcessDir "%%i" 
07.
goto :eof 
08.
 
09.
:ProcessDir 
10.
if not exist "%~1\%Datei%" goto :eof 
11.
set /p Name=<"%~1\%Datei%" 
12.
for /f "tokens=1*" %%a in ("%Name%") do ren %1 "%%~b" && ren  "%~1\%Datei%" "Datei_Info_erledigt.txt" 
13.
goto :eof
Sorry, dass mir das erst jetzt aufgefallen ist ...

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
05.10.2009 um 15:38 Uhr
Hallo bastla....

sieht schon viel besser aus... aber, diese aber....

der Ordner wird komplett umbenannt, nicht "ersätzt.... die TXT Zeile sollte ja den Ordner umbennen, aber nicht komplett sondern ergänzen am Anfang.

Also wenn die Zeile "abcd 1" heißt und der Ordner z.b. "qwertz" dann sollte "abcd 1 qwertz" umbenannt werden.... wäre das machbar? Evtl ein Trennstrich, aber nur evtl....

Gruß
Bitte warten ..
Mitglied: bastla
05.10.2009 um 15:48 Uhr
Hallo bodyparts!
wäre das machbar?
Wenn's denn damit feststeht, was tatsächlich geschehen soll ...

Ändere Zeile 12 auf
01.
for /f "tokens=1*" %%a in ("%Name%") do ren %1 "%%~b %~nx1" && ren  "%~dp1%%~b %~nx1\%Datei%" "Datei_Info_erledigt.txt"
Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
05.10.2009 um 16:27 Uhr
Hallo bastla,

dachte ich hätte das gesagt...

der Ordner wird umbenannt, aber nur der letzte Buchstabe der Zeile wird "eingefügt"...

also aus "File5 C" ( erste Zeile) wird "Ordnername C" und nicht "Ordnername File C"

....

Gruß bp
Bitte warten ..
Mitglied: bastla
05.10.2009 um 19:10 Uhr
Hallo bodyparts!

Abgesehen davon, dass
aus "File5 C" ( erste Zeile) wird "Ordnername C" und nicht "Ordnername File C"
wenn überhaupt nur heißen könnte:
aus "File5 C" ( erste Zeile) wird "C Ordnername" und nicht "File5 C Ordnername"
fehlt mir immer noch die Information, was denn nun die erste Zeile genau enthält ...

Bisher war ich davon ausgegangen, dass diese mit dem Wort "NAME" beginnt und dahinter erst der gewünschte Name angeführt ist - deshalb wird auch alles vor dem ersten Leerzeichen weg gelassen. Wenn nun tatsächlich die gesamte erste Zeile vor dem bisherigen Ordnernamen eingefügt werden soll, dann eben als Zeile 12:
ren %1 "%Name% %~nx1" && ren  "%~dp1%Name% %~nx1\%Datei%" "Datei_Info_erledigt.txt"
Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
05.10.2009 um 19:31 Uhr
sorry, war mir nicht klar, dass du es so verstanden hast.

Also die erste Zeile kann einen Namen enthalten...

THOMAS A oder Martin Z oder auch Sonja R, also immer die komplette Zeile auslesen und umbennen...

aber erstmal vielen Dank für die Mühe...

gruß bp
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ordner Umbenennen +heutiges Datum
gelöst Frage von ahsendenBatch & Shell12 Kommentare

Hallo zusammen, Ich muss für eine tagliche Außerhaussicherrung auf Externe Festplatten immer folgendes manuell ausführen: Löschen des Ordners "Backup-extern_20170201" ...

Batch & Shell
Viele Ordner umbenennen
gelöst Frage von ralfdiverBatch & Shell8 Kommentare

Ich habe folgendes Problem: Auf einem Server habe ich mehrere hundert Verzeichnisse mit folgender Bezeichnung: 2015-001 2015-002 2015-004 2015-007 ...

Windows Server
Ordner umbenennen nicht möglich
Frage von carbon1XWindows Server8 Kommentare

Hey zusammen, ich habe folgendes Problem. Ein User kann auf seinem PC einen Netzwerkordner (lokal auf dem Server liegend) ...

Batch & Shell
Alle Dateien in einem Ordner umbenennen
gelöst Frage von l.scheperBatch & Shell5 Kommentare

Hallo liebe Helferlein, lese schon seit geraumer Zeit mit und hab schon viele Tipps erfolgreich genutzt, vielen Dank dafür. ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 6 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf 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 13 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 103 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
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 ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless17 Kommentare

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

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 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 ...