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

Umgebungsvariable appdata für andere Benutzer ausfindig machen

Frage Entwicklung

Mitglied: Lionheart

Lionheart (Level 1) - Jetzt verbinden

02.12.2009 um 10:14 Uhr, 9495 Aufrufe, 7 Kommentare

Guten Morgen!

Ich muss mit einem Windows Batch-Skript mehrere Dateien in das Verzeichnis %userprofil%\Anwendungsdaten\ kopieren. Grundsätzlich ist das für den aktuell angemeldeten Benutzer kein Problem, da ich einfach den Befehle "copy xyz.txt %appdata%" nutzen kann.

Meine Problematik besteht nun darin, dass die Daten in jedes vorhandene Windows Benutzerprofil unter \Anwendungsdaten eingefügt werden müssen. Da sich die Daten benutzerspezifisch unterscheiden, kann ich das Verzeichnis unter "All Users" nicht verwenden.

\user1\Anwendungsdaten\abc.txt
\user2\Anwendungsdaten\def.txt
\user3\Anwendungsdaten\ghi.txt
etc.

Wie kann ich das Verzeichnis Anwendungsdaten alle vorhandenen Benutzerprofile ermitteln um die Dateien einzufügen. Da Skript wird vom Administrator ausgeführt, so dass Zugriffsrechte kein Problem darstellen. Erschwerend kommt hinzu, dass sich die klassischen \Anwendungsdaten ab Windows Vista und aktuelle unter \AppData\Roaming befinden. Die Windows Umgebungsvariable %appdata% hilft mir hierbei leider nur für den aktuellen Benutzer weiter.

Habt ihr eine Idee?

Vielen Dank!
Mitglied: DerWoWusste
02.12.2009 um 10:25 Uhr
Hi.
Die Windows Umgebungsvariable %appdata% hilft mir hierbei leider nur für den aktuellen Benutzer weiter.
Nimm ein Anmeldeskript und lass das in %appdata% schreiben, dann passt es für jeden Benutzer. Das ist gängige Praxis.
Bitte warten ..
Mitglied: miniversum
02.12.2009 um 10:55 Uhr
Mit
dir %USERPROFILE%\..
bekommst du sie Benutzerkonten aufgelistet.
Diese liste kannst du dann mit
FOR /F "delims=" %%i in ('dir /b %USERPROFILE%\..') do echo %%i
durchgehen und halt statt dem echo den entsprechenden Befehl einsetzen.
Wenn du es genau haben willst kannst du noch %APPDATA% zerlegen und deinen usernamen duch die in der liste ersetzen:
FOR /F "delims=" %%i in ('dir /b %USERPROFILE%\..') do FOR /F "tokens=1,* delims=%username%" %%j in ('echo %APPDATA%') do echo %%j%%i%%k
Bitte warten ..
Mitglied: Lionheart
02.12.2009 um 11:00 Uhr
Hi,

die Lösung ist mir bekannt. Kann ich in diesem Fall jedoch nicht anwenden, da dass Ganze beim Update einer Anwendung an verschiedenen PCs auch außerhalb meines Netzwerks durchgeführt werden muss.
Bitte warten ..
Mitglied: Lionheart
02.12.2009 um 11:53 Uhr
Der Befehl "dir %USERPROFILE%\.." funktioniert nicht. Bastle gerade aber an einer Lösung. Werde das Ergebnis dann Posten.
Bitte warten ..
Mitglied: miniversum
02.12.2009 um 12:40 Uhr
hier bei mir auf nem Vista rechner gehts.
Versuchs mal so:
01.
pushd "%USERPROFILE%" 
02.
cd.. 
03.
FOR /F "delims=" %%i in ('dir /b') do FOR /F "tokens=1,* delims=%username%" %%j in ('echo %APPDATA%') do echo %%j%%i%%k 
04.
popd
Bitte warten ..
Mitglied: Lionheart
02.12.2009 um 13:25 Uhr
Danke. Genau so hab ich es jetzt bereits auch gelöst.

Unter Vista geht das dir %userprofile%\.. unter XP leider nicht.
Bitte warten ..
Mitglied: Biber
02.12.2009 um 13:56 Uhr
Moin Lionheart,

Zitat von Lionheart:
Unter Vista geht das dir %userprofile%\.. unter XP leider nicht.
Ja nee, das hat nur indirekt mit der Betriebssystemversion XP oder Vi$ta zu tun..

Unter XP enthält (in fast allen üblichen Konstellationen) die Umgebungsvariable %USERSPROFILE% einen "Pfad mit Leerzeichen".
E.g. "C:\Dokumente und Einstellungen\Biber".
Unter Vi$ta ist kein Leerzeichen im Pfad "C:\Users\Whatever".

Funktionieren wir aber in beiden Fällen eine miniversum-Variante mit einem zusätzlichen Paar Anführungszeichen:
Demo am CMD-Prompt:
01.
FOR /F "delims=" %i in ('dir /b "%USERPROFILE%\.."') do @echo %i
Nur der Vollständigkeit halber, damit nicht aus diesem Beitrag irgendwann zitiert wird :"Unter Vista geht das dir %userprofile%\.. unter XP leider nicht."

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
gelöst Administrative Freigaben für andere Benutzer aus der Gruppe Administratoren (7)

Frage von bluepython zum Thema Windows Server ...

Windows Userverwaltung
Servergespeichertes Profil - Pfad ausfindig machen (6)

Frage von staybb zum Thema Windows Userverwaltung ...

Netzwerkmanagement
gelöst Wie scanne ich unser Netzwerk ab um den Trafficverursacher ausfindig zu machen? (7)

Frage von M.Marz zum Thema Netzwerkmanagement ...

Datenbanken
SQL Express - der Benutzer war nicht autorisiert (8)

Frage von adm999 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
Telefonanlage gesucht (32)

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

Erkennung und -Abwehr
Virenschutz - Meinungen (29)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
gelöst Welches OS für Firmengeräte? (20)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (20)

Frage von bogi1102 zum Thema Exchange Server ...