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

Verschieben von Dateien eines bestimmten Besitzers

Frage Microsoft

Mitglied: dervik

dervik (Level 1) - Jetzt verbinden

01.07.2013 um 15:06 Uhr, 1364 Aufrufe, 7 Kommentare, 3 Danke

Hallo,

ich benötige für folgende Problematik ein paar Tipps bzw. Anregungen:

wie kann ich nur die Dateien jedoch nicht die Ordner eines bestimmten Besitzers aus meinem Server in ein anderes System verschieben, vorzugsweise sollte auf dem Zielsystem ein Abbild der Ordnerstruktur der verschobenen Dateien mit erstellt werden.

Vielen Dank für Vorschläge
Mitglied: oneMAK
01.07.2013 um 23:28 Uhr
mach einen suche nach *.* und kopiere nur die Daten in das Zielsystem
Bitte warten ..
Mitglied: Biber
02.07.2013, aktualisiert um 09:56 Uhr
Moin dervik,

sinngemäß mit einer Zeile vom CMD-Prompt nach folgendem Muster:
-> Wenn denn die Dateien des Benutzers "user123" von einem Laufwerk "X" auf ein Laufwerk U:\ verschoben werden sollen:
for /d /r  "X:\" %v in (*) do @for /f "tokens=5" %i in ('dir "%~v" /a-d /q^|find /i "user123"') do @(ECHO md "U:\%~pnxvi" 2>nul) & @ECHO move "%~v\%~i" "U:\%~pnxv\"
- die beiden @ECHOs sind nur zum gefahrlosen Testen und zeigen, was passieren würde
- for /d /r "X:\" %v in (*) --> geht mit der Laufvaiablen %v wie Verzeichnis über alle Unterordner des Laufwerks X:\
- for /f "tokens=5" %i in ('dir "%~v" /a-d /q^|find /i "user123"') --> sucht alle Dateien von "user123" je gefundenem Unterverzeichnis
- danach wird ein md "neuesLw\alterVerzeichnisname gemacht, der in 95% aller Fälle überflüssig ist ("Verzeichnis schon vorhanden"), deshalb "2>nul"
- danach wird ein MOVE DateiVonUser123 von X: nach U: gemacht

- alles natürlich ungetestet

Grüße
Biber
Bitte warten ..
Mitglied: dervik
02.07.2013 um 14:36 Uhr
Zitat von Biber:
Moin dervik,

sinngemäß mit einer Zeile vom CMD-Prompt nach folgendem Muster:
-> Wenn denn die Dateien des Benutzers "user123" von einem Laufwerk "X" auf ein Laufwerk U:\ verschoben
werden sollen:
> for /d /r  "X:\" %v in (*) do @for /f "tokens=5" %i in ('dir "%~v" /a-d /q^|find /i 
> "user123"') do @(ECHO md "U:\%~pnxvi" 2>nul) & @ECHO move "%~v\%~i" 
> "U:\%~pnxv\" 
> 
- die beiden @ECHOs sind nur zum gefahrlosen Testen und zeigen, was passieren würde
- for /d /r "X:\" %v in (*) --> geht mit der Laufvaiablen %v wie Verzeichnis über alle Unterordner des
Laufwerks X:\
- for /f "tokens=5" %i in ('dir "%~v" /a-d /q^|find /i "user123"') --> sucht alle
Dateien von "user123" je gefundenem Unterverzeichnis
- danach wird ein md "neuesLw\alterVerzeichnisname gemacht, der in 95% aller Fälle überflüssig ist
("Verzeichnis schon vorhanden"), deshalb "2>nul"
- danach wird ein MOVE DateiVonUser123 von X: nach U: gemacht

- alles natürlich ungetestet

Grüße
Biber

Hallo Biber,

vorab vielen Dank für deine Hilfe!

Ich bekomme beim Aufruf von

for /d /r "T:\" %v in (*) do @for /f "tokens=5" %i in ('dir "%~v" /a-d /q^|find /i "user123"') do @(ECHO md "F:\Test\%~pnxvi" 2>nul) & @ECHO move "%~v\%~i" "F:\Test\%~pnxv\"

folgenden Fehler:

Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~v" /a-d /q^|find /i "user123"') do @(ECHO md "F:\Test\%~pnxvi" 2>nul) & @ECHO move "%~v\%~i" "F:\Test\%~pnxv\"

Geben Sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate gültig sind.
Bitte warten ..
Mitglied: Biber
02.07.2013, aktualisiert 03.07.2013
Moin dervik,

deshalb schrieb ich ja "ungetestet"...

Okay, ich habe es bei mir mit Quell-laufwerk T:\ und Zeile\-Rootverzeichnis F:\Test nochmal probiert und wenigstens noch einen überflüssige "\" und eine "Datei nicht gefunden"-Fehlermeldung aus der Beispielzeile rausgeworfen.

Und ganz wichtig - statt "nur" auf den Usernamen - im Beispiel user123 zu filtern, besser auf Kombination "dieDomain\derUsername".
Sonst werden -zumindest bei mir - viel zu viel Dateien gefunden, die meinen Usernamen beinhalten

for /d /r  "T:\" %v in (*) do @for /f "tokens=5" %i in ('dir "%~v\" /a-d /q ^2^>nul^|find /i "dieDomain\user123"') do @(ECHO md "F:\test\%~pnxv" 2>nul) & @ECHO move "%~v\%~i" "F:\test%~pnxv\"
So würde es aber bei mir ein Ergebnis bringen, wenn ich es vom CMD-Prompt absende.

Wenn es bei dir Fehler bringt, dann taste dich in Etappen heran:
Zuerst:
- for /d /r "T:\" %v in (*) do @echo "%~v"
dann:
- for /d /r "T:\" %v in (*) do @or /f "tokens=5" %i in ('dir "%~v\" /a-d /q ^2^>nul^|find /i "dieDomain\user123"') do @echo "%~v\%~i"

Damit wir sehen, wo es schiefgeht.

Grüße
Biber
Bitte warten ..
Mitglied: dervik
03.07.2013 um 08:28 Uhr
Hi Biber,

läuft klasse! Ein kleinen Schönheitsfehler gibt’s noch, sofern "gefundene" Dateien ein Leerzeichen beinhalten scheint die Geschichte nicht sauber zu laufen.. Ist das bei dir auch so?

Gruß
Bitte warten ..
Mitglied: Biber
03.07.2013 um 09:50 Uhr
Moin dervik,

jep, sorry.
IT-Regel 4: Die beim Testen eingesparten Minuten kosten immer ein paar Stunden Nacharbeit..

Ändere bitte das "@for /f "tokens=5" %i" in ein "@for /f "tokens=4,*" %h" um.

Grüße
Biber
Bitte warten ..
Mitglied: dervik
03.07.2013, aktualisiert um 17:24 Uhr
vielen Dank funktioniert nun einwandfrei.

Komischerweise hab ich heute durch Zufall folgendes kleine Tool gefunden:

http://retired.beyondlogic.org/solutions/delbyowner/delbyowner.htm
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Outlook & Mail
Dumme Sache - Userin hat Abwesenheitsnotz in Outlook vergessen (25)

Frage von 1410640014 zum Thema Outlook & Mail ...

Router & Routing
Grundkonfiguration Firewall und L3 Switch? (22)

Frage von Maik20 zum Thema Router & Routing ...

Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (15)

Frage von Spitzbube zum Thema Firewall ...