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

Ordner Suchen und Verschieben Script

Frage Microsoft Windows Tools

Mitglied: madhias

madhias (Level 1) - Jetzt verbinden

13.02.2013, aktualisiert 08:46 Uhr, 1310 Aufrufe, 3 Kommentare, 1 Danke

Hallo allerseits,

Ich würde gerne ein Script basteln, welches Ordner mit bestimmten Namen in der gleichen Hierarchie auf andere Netzwerkfreigabe verschiebt. Wie bzw. womit soll ich beginnen - z.B. PowerShell? Das ist meine erste Frage. Ich habe mir ein paar Tutorials durchgelesen, und mir kommt vor, für diese Aufgabe schieße ich da mit Kanonen auf Spatzen. Vielleicht liege ich ja falsch =] Vielleicht tut es ja auch ein normales Batch Script.

Die Ordner sind numeriert sortiert in 100er Schritten, dann 1000er, dann 10000er:

Freigabe1 \ 10000 \ 10000-10099 \ 100xx \ OrdnerZ
Freigabe1 \ 11000 \ 11000-11099 \ 110xx \ OrdnerZ
usw.

Nun soll der OrdnerZ (welcher aber nicht immer da sein muß) in die Freigabe2 verschoben werden, also:

Freigabe2 \ 10000 \ 10000-10099 \ 100xx \ OrdnerZ
Freigabe2 \ 11000 \ 11000-11099 \ 110xx \ OrdnerZ
usw.

Vielleicht hat ja wer ein paar Denkanstöße, die mir weiterhelfen!

Besten Dank und Grüße, Matthias
Mitglied: colinardo
13.02.2013, aktualisiert um 13:13 Uhr
Hi madhias,

via Batch kannst du folgendes machen:
Am Anfang noch die Variablen an deine Umgebung anpassen.
Variablen:
ordername = Den suchst du
searchroot = Ab diesem Ordner suchst du
serverfreigabe = Selbsterklärend
01.
@echo off & setlocal ENABLEDELAYEDEXPANSION 
02.
set ordnername=diverses 
03.
set searchroot=C:\temp 
04.
set serverfreigabe=\\fritz.box\fritz.nas 
05.
 
06.
for /f "tokens=*" %%i IN ('dir /b /s /A:D "%searchroot%" ^| findstr /E "%ordnername%"') DO @( 
07.
         set p=%%i 
08.
	 set newPath=!serverfreigabe!\!p:~3%!\ 
09.
	 xcopy  "!p!" "!newpath!" /s /e /c /i /h /r /k /o /y 
10.
)
Grüße Uwe
Bitte warten ..
Mitglied: bastla
13.02.2013, aktualisiert um 13:14 Uhr
Hallo madhias und willkommen im Forum!

Sollte sich als Batch ungetestet etwa so machen lassen (als serverseitige Variante - wenn Du Quelle und Ziel als UNC-Pfad schreibst, sollte sich das auch vom Client aus verwenden lassen):
01.
@echo off & setlocal 
02.
set "Quelle=D:\Freigabe1" 
03.
set "Ziel=D:\Freigabe2" 
04.
set "Ordner=OrdnerZ" 
05.
 
06.
for /f "delims=" %%i in ('dir /s/b/ad "%Quelle%\%Ordner%"') do call :ProcessDir "%%i" 
07.
goto :eof 
08.
 
09.
:ProcessDir 
10.
set "ZielPfad=%~f1" 
11.
call set "ZielPfad=%%ZielPfad:%Quelle%=%Ziel%%%" 
12.
md "%Zielpfad%" 2>nul 
13.
xcopy /dey %1 "%Zielpfad%\" >nul && echo rd /s /q %1 
14.
goto :eof
Es werden (wegen des "echo" vor dem "rd") in dieser Version zwar der neue Ordner erstellt und die Inhalte kopiert, aber der alte Ordner nicht gelöscht - wenn es passt, einfach dieses "echo" entfernen ...

Grüße
bastla

[Edit]
@ colinardo: Da hatten wir ja ziemlich ähnliche Ideen - wobei ich zur Sicherheit auch einen leeren "OrdnerZ" verschiebe.
Bei Dir würde dafür auch zB ein "Weiterer OrdnerZ" mit behandelt ...
[/Edit]
Bitte warten ..
Mitglied: madhias
19.02.2013 um 16:23 Uhr
Hallo colinardo & bastla,

Besten Dank für die Tips! Das bastla Script habe so einmal eingerichtet und getestet, und funktioniert einwandfrei!

Viele Grüße, Matthias
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...