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

Doppelte for Schleife Variablenverwendung

Frage Entwicklung Batch & Shell

Mitglied: photographix

photographix (Level 1) - Jetzt verbinden

06.08.2010 um 16:55 Uhr, 3504 Aufrufe, 2 Kommentare

Olá und hallo zum Freitag Nachmittag,

unter Dateien mit Unterstruktur verschieben hatte ich schon mal ein Problem mit einer Batch Schleife.
Bastla konnte mir gut weiterhelfen. Danke nochmals dafür!!
Nun sind aber noch ein paar Features mehr hinzugekommen und nun weiß ich (wieder) nicht weiter.

Meine for for for Schleife arbeitet problemlos und findet auch die Sachen die ich suche nur kann ich das Ergebnis nicht korrekt weiterverarbeiten.

Die Problemstellung ist folgende:

Finde spezielle Ordner in einer Ordnerstruktur von der nur bestimmte Dinge bekannt sind
kopiere/ verschiebe dann diese Ordner in genau der selben, gefundenen Struktur an einen anderen Pfad (genau dort hängt es)

Mein halbfertiges Script:

01.
@echo off & setlocal 
02.
 
03.
REM net use x: /delete 
04.
REM net use x: \\server2\bkp-03$ 
05.
 
06.
set "Quelle=z:" 
07.
set "Archiv=d:" 
08.
set "Jahr=2010" 
09.
set "Monat=%Jahr%-04" 
10.
REM set "Tag=%Monat%-01" -> unbekannt Schema 2010-06-?? 
11.
REM set "FB=FB_101010" -> unbekannt Schema FB_?????? 
12.
 
13.
for /d %%i in ("%Quelle%\*.*") do ( 
14.
	for /d %%t in ("%%i\%Jahr%\%Monat%\*.*") do ( 
15.
		for /d %%f in ("%%t\*.*") do ( 
16.
			echo xcopy /e /y /r "%%f" "%Archiv%%%~pnxi\%Jahr%\%Monat%\%%t" || >>"%Fehler%" echo %%t 
17.
18.
19.
20.
   
21.
REM echo rd /s /q "%%i\%Jahr%\%Monat%" -> noch anzupassen 
22.
REM net use x: /delete 
23.
 


Ergebnis:

01.
 
02.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-16\FB_100417" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-16"  
03.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-19\Fam. Handan" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-19"  
04.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-19\FB_100420" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-19"  
05.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-20\FB_100421" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-20"  
06.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-21\FB_100422" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-21"  
07.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-22\FB_100426" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-22"  
08.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-23\FB_100426" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-23"  
09.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-24\FB_100427" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-24"  
10.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-26\FB_100427" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-26"  
11.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-27\FB_100428" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-27"  
12.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-28\FB_100429" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-28"  
13.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-30\FB_100503" "d:\1419\2010\2010-04\z:\1419\2010\2010-04\2010-04-30" 
14.
 
PS: ich möchte aber nur die Ordner mit FB* finden und diese in der gefundenen Struktur kopieren

Wunsch:
01.
xcopy /e /y /r "z:\1419\2010\2010-04\2010-04-23\FB_100426" "d:\1419\2010\2010-04\2010-04-23\FB_100426\"
Mitglied: bastla
06.08.2010 um 17:13 Uhr
Hallo photographix!

Versuch es mit der folgenden Zeile 16:
echo xcopy /e /y /r "%%f" "%Archiv%%%~pnxf\" || >>"%Fehler%" echo %%t
Solange Du in der Zeile 15 *.* verwendest, werden natürlich alle Ordner erfasst ...

Grüße
bastla
Bitte warten ..
Mitglied: photographix
06.08.2010 um 17:40 Uhr
Hiho Bastla

das war genau DER Hinweis

Das Ergebnis
(testen kann ich es erst am Montag - bin schon @home per vpn)

01.
@echo off & setlocal 
02.
 
03.
REM net use x: /delete 
04.
REM net use x: \\server2\bkp-03$ 
05.
 
06.
set "Quelle=z:" 
07.
set "Archiv=d:" 
08.
set "Jahr=2010" 
09.
set "Monat=%Jahr%-04" 
10.
set "FB=FB_??01??"  
11.
 
12.
for /d %%i in ("%Quelle%\*.*") do ( 
13.
	for /d %%t in ("%%i\%Jahr%\%Monat%\*.*") do ( 
14.
		for /d %%f in ("%%t\%FB%") do ( 
15.
			echo xcopy /e /y /r "%%f" "%Archiv%%%~pnxf" || >>"%Fehler%" echo %%f 
16.
			echo rd /s /q "%%t" 
17.
18.
19.
20.
 
21.
REM net use x: /delete
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Abfrage ERRORLEVEL springt aus der FOR Schleife (8)

Frage von Galindiesel zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Skript für doppelte Dateinamen (1)

Frage von janelsaesser 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 ...

Windows Server
Windows Server 2012R2 Automatische-Reparatur Schleife - NEU (46)

Frage von hans-tu-was zum Thema Windows Server ...

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) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

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

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...