brossi
Goto Top

Ordner umbenennen mit Abfrage

Hallo,
ich habe schon mit mehreren Dingen versucht dieses hinzubekommen, leider immer ohne Erfolg.
Folgendes möchte ich machen:
Es gibt unter "C:\" unter andenem die Ordner "Ediabas_E39" und "Ediabas_E61" und unter "C:\EC-Apps" gibt es die Ordner "Inpa_E39" und "Inpa_E61"
Ich suche eine Möglichkeit z.B. aus den Ordnern Ediabs_E61 den Ordner Ediabas und aus dem Ordner Inpa den Ordner Inpa_E61 dedn Ordner Inpa zu erstellen. Alle Ordner enthalten Dateien sowie Unterordner!
Sollte sies möglich sein suche ich noch die Möglichkeit gleiches mit den Ordnern Ediabas_E39 ind Ediabas und Inpa_E39 in Inpa umzunennen ohne das die anderen Daten überschrieben werden, das heißt das die Bestehenden Ordner vorher wieder in xxx_E61 benannt werden müssen bevor die anderen in Ediabas bzw. Inpa umbenannt werden.

Ich hoffe das ihr mit meiner Erklärung was anfangen könnt und mir falls möglich eine Anleitung oder Scrips oder Ähnliches geben könnt.

Danke

Content-Key: 170702

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

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: bastla
bastla 31.07.2011 um 18:54:29 Uhr
Goto Top
Hallo brossi und willkommen im Forum!

Wenn ich das richtig interpretiere, soll immer einer der beiden Ordner als "Ediabas" bzw "Inpa" zur Verfügung stehen - wenn ja, sollte folgender (ungetestete) Batch jeweils den Wechsel ermöglichen:
@echo off & setlocal
set "Basis1=C:\"  
set "Basis2=C:\EC-Apps\"  
set "Name1=Ediabas"  
set "Name2=Inpa"  
set "Anhang1=_E61"  
set "Anhang2=_E39"  

if not exist "%Basis1%%Name1%%Anhang1%"% (  
    echo Verwende %Anhang2%
    ren "%Basis1%%Name1%" "%Name1%%Anhang1%"  
    ren "%Basis2%%Name2%" "%Name2%%Anhang1%"  

    ren "%Basis1%%Name1%%Anhang2%" "%Name1%"  
    ren "%Basis2%%Name2%%Anhang2%" "%Name2%"  
) else (
    echo Verwende %Anhang1%
    ren "%Basis1%%Name1%" "%Name1%%Anhang2%"  
    ren "%Basis2%%Name2%" "%Name2%%Anhang2%"  

    ren "%Basis1%%Name1%%Anhang1%" "%Name1%"  
    ren "%Basis2%%Name2%%Anhang1%" "%Name2%"  
)
pause
Vor dem ersten Start des Batches ist eines der beiden Ordnerpaare manuell umzubenennen, also etwa "Ediabas_E39" -> "Ediabas" und "Inpa_E39" -> "Inpa" - danach wird bei jeder Ausführung des Batches gewechselt. Eine Abfrage scheint deswegen nicht erforderlich, da ja mit einem nochmaligen Ausführen des Batches der vorige Zustand wieder hergestellt werden kann.

Da der Batch nicht getestet ist, bitte vorweg Sicherungskopien aller Ordner erstellen!

Weiters zu beachten: Am Ende der "Basis"-Pfade (Zeilen 2 und 3) wird ein "\" benötigt.

Grüße
bastla
Mitglied: Biber
Biber 31.07.2011 um 20:24:43 Uhr
Goto Top
Moin brossi,

willkommen im Forum.
Ergänzend zu bastla noch diese Anmerkungen.

Für Neu-Mitglieder im Forum eine kleine Übersetzungshilfe:
Insider-Formulierung
Zitat von @bastla:
Wenn ich das richtig interpretiere, ....

Übersetzung in Alltagssprache
Nachdem ich deine durchgequirlte Problembeschreibung zwölfmal laut vor mich hin lesen musste,...

Aber was soll's - ich kam zu der gleichen Interpretation, allerdings erst nach 14 Leseversuchen.

Auch wenn bastlas wortgetreue Abarbeitung der Aufgabenstellung sicherlich funktioniert...
-> ich wüsste nicht, welche Verzweiflung jemanden zur physikalischen Umbenennung der jeweils aktiven Ordner treiben sollte.
-> es sollte vollkommen ausreichen, diese Ordner logisch aktiv/inaktiv zu setzen, sei es durch einen SUBST-Befehl oder durch Ansprechen der ausführenden Applikation mit Pfaden, die bastlas %BasisX%/%AnhangY%-Mimik enthalten.

Du willst doch nur ein logisches "Umswitchen" - WTF hat denn die Physik damit zu tun?

Weitere Anmerkung:
Sollte bastlas Lösung zielführend sein, verschiebe bitte den Beitrag nach "Batch & Shell".

Grüße
Biber
Mitglied: brossi
brossi 31.07.2011 um 21:37:40 Uhr
Goto Top
Danke bastla,
ohne Deine Hilfe hätte ich das sicher nie geschafft.
Es hat sofort Funktioniert face-smile

@Biber: ich habe es zu "Batch & Shell" verschoben.

Super Forum hier, danke an alle.