Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Pfad zu den Userprofilen dynamisch ermitteln

Frage Entwicklung Batch & Shell

Mitglied: Viprex

Viprex (Level 1) - Jetzt verbinden

27.08.2014, aktualisiert 17:17 Uhr, 1099 Aufrufe, 6 Kommentare

Hallo,

ich sitze nun schon länger und grüble darüber nach, wie ich den Pfad zu den Userprofilen unter Windows XP erhalten.

%userprofile% gibt mir mein aktuelles Userprofil aus.
%username% meinen Benutzernamen.

Es geht darum, dass wir sowohl englische als auch deutsche Notebooks reinbekommen, bei denen mittels Robocopy alle Userprofile gesichert werden sollen. Dieser Teil gehört zu einem umfangreichen Skript, daher würde ich den gerne so gut automatisieren wie möglich.

Robocopy soll also bei deutschen Windows XP Systemen "C:\Dokumente und Einstellungen" ausgeben, bei englischen C:\Documents and Settings" und zukünftig bei Vista, Win7 oder Win8 gerne auch C:\Users. Falls das Systemlaufwerk nicht auf C liegt, sondern D ist (warum auch immer) sollte dies natürlich ebenso berücksichtigt werden.


Ich habe diverse Sachen probiert, leider alle ohne Erfolg.

Ich habe probiert, mittels substring %userprofile:~0,XXX% den Pfad einzukürzen, wobei xxx die Länge des Benutzernamens sein soll (Länge bekomme ich mit einer Unterfunktion). Allerdings schaffe ich es nicht, die Länge für die Substring Methode dynamisch fürs XXX zu setzen. %userprofile:~0,%usernameLength%% geht ja nicht wirklich

Ich habe probiert, mittels einer Split Methode (zu finde auf SS64.org) den Usernamen abzusplitten. Auch ohne Erfolg,

Ich habe probiert mittels For-Schleife und DIR %userprofile%\.. weiterzukommen, aber auch ohne Erfolg.


Meine Hoffnung ist nun, dass mir jemand eine Lösung präsentiert, die mir den Pfad zu den Userprofilen ausgibt. Es kommt mir abwegig vor, dass ich der erste sein soll der dies mittels Batch probiert, es müsste also doch in den Weiten des Webs eine Lösung zu finden sein - habe aber keine gefunden

Ich bin über jegliche Hilfe und Denkanstöße sehr dankbar und freue mich auf eure Antworten!
Mitglied: emeriks
LÖSUNG 27.08.2014, aktualisiert um 17:17 Uhr
Hi,
01.
%systemdrive% 
02.
cd "%userprofile%" 
03.
cd ..
jetzt stehst Du im lokalen Profil-Stammpfad.
dann weiter mit
01.
for /D %%d in (*) DO ROBOCOPY %%D ......
Sollte doch so gehen.

E.
Bitte warten ..
Mitglied: rubberman
27.08.2014, aktualisiert um 16:11 Uhr
Hallo Viprex,

teste:
01.
@echo off &setlocal 
02.
pushd "%userprofile%\.." 
03.
for /f "delims=" %%i in ('dir /ad /b') do echo "%%~fi" 
04.
popd 
05.
pause
Grüße
rubberman

EDIT Huch emeriks war schneller...
Bitte warten ..
Mitglied: Viprex
27.08.2014 um 16:51 Uhr
Hallo emeriks und rubberman,

vielen Dank für eure Vorschläge. Die könnte ich hier sicher gut umsetzen, müsste das Skript nur geringfügig anpassen da das robocopy so ja keinen Elternordner "Dokumente und Einstellungen" erzeugt. Ist aber nicht das Problem.

Gibt es denn keinen Weg an das Elternverzeichnis eines Pfades zu kommen? Robocopy ist ja nur das ausführende Programm, ich möchte das Verzeichnis aber gerne in einer Variable stehen haben damit ich damit z. B. in die allgemeine Logdatei genaue Infos schrieben kann.

Nochmal vielen Dank für die Hilfe!
Bitte warten ..
Mitglied: rubberman
LÖSUNG 27.08.2014, aktualisiert um 17:17 Uhr
Hallo Viprex,

Das "Elternverzeichnis" ist %userprofile%\..
Wenn du es als korrekten Pfad in eine Variable packen willst, dann etwa so:
01.
@echo off &setlocal 
02.
pushd "%userprofile%" 
03.
for %%i in ("%userprofile%\..") do set "parent=%%~fi" 
04.
popd 
05.
echo "%parent%" 
06.
pause
PUSHD und POPD um sicher zu gehen, dass ~f auch korrekt funktioniert, wenn die Batchdatei auf einem anderen Datenträger liegt...

Grüße
rubberman
Bitte warten ..
Mitglied: Viprex
27.08.2014 um 17:18 Uhr
Vielen lieben Dank, rubbermann. So einfach kann das Leben auf der Kommandozeile sein
Bitte warten ..
Mitglied: rubberman
27.08.2014 um 17:35 Uhr
So einfach kann das Leben auf der Kommandozeile sein
Joa, und dabei weiß ich nicht mal mehr genau ob man das PUSHD und POPD unter XP wirklich benötigt hat (ich kann mich nur erinnern mal Probleme gehabt zu haben).
Es führen aber viele Wege nach Rom. So etwas ginge auch:
01.
pushd "%userprofile%\.." 
02.
set "parent=%cd%" 
03.
popd
Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch script: Problem beim Kopieren und bearbeiten, dynamischen Pfad ermitteln (31)

Frage von Hedgehogi zum Thema Batch & Shell ...

Windows 10
gelöst Einzelne Seiten der Systemsteuerung per command aufrufen oder Pfad dazu ermitteln (6)

Frage von DownhillDom zum Thema Windows 10 ...

Microsoft Office
gelöst VBA - aktuelle Kalenderwoche ermitteln (3)

Frage von Ghost108 zum Thema Microsoft Office ...

Visual Studio
gelöst SIDs eines Verzeichnisses ermitteln (1)

Frage von joehuaba zum Thema Visual Studio ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...