Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Mit FOR-Schleife Ordner anhand Eingabeliste umbenennen und verschieben

Frage Entwicklung Batch & Shell

Mitglied: tHe-jAy

tHe-jAy (Level 1) - Jetzt verbinden

18.01.2011 um 00:02 Uhr, 7015 Aufrufe, 4 Kommentare

Hallo,

irgendwie zweifel ich grad an mir selbst... aber vielleicht kann mir ja einer ein bisschen auf die Sprünge helfen.

Ich habe mehrere Ordner mit Inhalt (Dateien und weitere Ordner), diesen Inhalt möchte im selben Ordner in einen Neu erstellten Ordner verschieben.

Struktur:
01.
C:\Temp\ab 
02.
C:\Temp\ab\Kopie von 01 
03.
C:\Temp\ab\Kopie von 02 
04.
C:\Temp\ab\Kopie von 03 
05.
 
06.
C:\Temp\cd 
07.
C:\Temp\cd\Kopie von 01 
08.
C:\Temp\cd\Kopie von 02 
09.
C:\Temp\cd\Kopie von 03 
10.
 
11.
C:\Temp\ef 
12.
C:\Temp\ef\Kopie von 01 
13.
C:\Temp\ef\Kopie von 02 
14.
C:\Temp\ef\Kopie von 03

Mit Hilfe der Kommandozeile wäre ich so vorgegangen:
01.
md dummy 
02.
ren "bestehender Ordner zb ab" "XYZ" 
03.
move XYZ dummy 
04.
ren dummy ab
Das Ganze möchte ich für eine Liste durchführen, die ich mit diesem Befehl erstellt habe:
01.
cmd /u /c dir *. /b /o:n > folderlist.txt
Inhalt von folderlist.txt
01.
ab 
02.
cd 
03.
ef
Mit Hilfe der FOR-Schleife sieht dies bei mir dann so aus:
01.
@echo on & setlocal 
02.
set "liste=c:\temp\folderlist.txt" 
03.
cmd /u /c dir *. /b /o:n > folderlist.txt 
04.
 
05.
for /d %%i in ("%liste%") do call :work "%%i" 
06.
goto :eof 
07.
 
08.
:work 
09.
md dummy 
10.
ren %%i XYZ 
11.
move XYZ dummy 
12.
ren dummy %%i
Das Ergebnis könnt ihr euch sicher vorstellen, aber ich weiß woran es liegt... Entweder wird meine Liste nicht richtig verarbeitet, oder die Variable nach der Sprungmarke ist totaler Mist.

Danke schon mal
Mitglied: pieh-ejdsch
18.01.2011 um 02:07 Uhr
moin jay,

Biber hätt jetzt gesagt: Mach da mal nicht soviel Heckmeck drum...

einmal in der CMD abgefeuert...
01.
pushD "D:\Mein Verzeichnis"&for /d %i in (*) do md "%i\%i" & for /r "%i" %j in (*) do @if not "%~fi\%i" == "%j" @move "%j" "%~fi\%i"
[Edit]eine Forvariable Funktioniert in einer Sub nicht dazu nimmst Du Parameter, welche in der Forschleife beim Call übergebn werden oder setzt vor den Call eine Variable - welche dann in der Sub verarbeitet wird[/Edit]

Gruß Phil
Bitte warten ..
Mitglied: tHe-jAy
18.01.2011 um 15:20 Uhr
Hallo Phil,

leider haut das bei mir nicht hin. Es wird zwar ein gleichnamiger Ordner im selbigen erstellt, aber das Verschieben erfolgt nicht. Natürlich habe ich "D:\Mein Verzeichnis" durch "C:\Temp" wie es bei mir ist ersetzt.

Des Weiteren wollte ich nicht einen gleichnamigen Ordner in dem selbigen erstellen, sondern einen Ordner mit einer fixen Zeichenfolge. Dies war jetzt für den Test aber erstmal egal, da ich ja nur die Variable durch eine fixe Bezeichng ersetzen müsste.

gruß
jay
Bitte warten ..
Mitglied: pieh-ejdsch
18.01.2011 um 18:13 Uhr
ja mein Fehler...

die for /r schleife war etwas falsch
und beim move war der Pfad zu Kurz
dann aber in etwa so
01.
(for %h in ("ExtraOrdner") do pushD "D:\Mein Verzeichnis"&for /d %i in (*) do @md "%i\%~h" & @for /f "delims=" %j in ('dir /a/b "%~i\*"') do @if not "%i\%~h" == "%i\%j" @move /y "%i\%j" "%i\%~h")&popD
Gruß Phil
Bitte warten ..
Mitglied: tHe-jAy
18.01.2011 um 18:37 Uhr
BÄM!

Punktlandung. Jetzt test ich noch n bisl und sofern das alles hinhaut darf das Datenarchiv dran glauben. Falls das auch alles klappt, markier ich den Beitrag als gelöst.


Vielen Dank
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Abfrage ERRORLEVEL springt aus der FOR Schleife (6)

Frage von Galindiesel zum Thema Batch & Shell ...

Batch & Shell
gelöst Warum funktioniert das echo in meiner for-Schleife auch mit Sonderzeichen? (9)

Frage von Pedant zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (13)

Frage von aschmid zum Thema Router & Routing ...