Ordner Suchen und Verschieben Script
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201649
Url: https://administrator.de/contentid/201649
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
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
Grüße Uwe
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
@echo off & setlocal ENABLEDELAYEDEXPANSION
set ordnername=diverses
set searchroot=C:\temp
set serverfreigabe=\\fritz.box\fritz.nas
for /f "tokens=*" %%i IN ('dir /b /s /A:D "%searchroot%" ^| findstr /E "%ordnername%"') DO @(
set p=%%i
set newPath=!serverfreigabe!\!p:~3%!\
xcopy "!p!" "!newpath!" /s /e /c /i /h /r /k /o /y
)
Grüße Uwe
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):
Es werden (wegen des "
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]
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):
@echo off & setlocal
set "Quelle=D:\Freigabe1"
set "Ziel=D:\Freigabe2"
set "Ordner=OrdnerZ"
for /f "delims=" %%i in ('dir /s/b/ad "%Quelle%\%Ordner%"') do call :ProcessDir "%%i"
goto :eof
:ProcessDir
set "ZielPfad=%~f1"
call set "ZielPfad=%%ZielPfad:%Quelle%=%Ziel%%%"
md "%Zielpfad%" 2>nul
xcopy /dey %1 "%Zielpfad%\" >nul && echo rd /s /q %1
goto :eof
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]