Top-Themen

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 Batchdatei für automatischen Backup der Eigenen Dateien mit verschiedenen Profilen

Mitglied: Milzbrand

Milzbrand (Level 1) - Jetzt verbinden

10.12.2010 um 10:43 Uhr, 4395 Aufrufe, 8 Kommentare

Hallo erstmal,
Ich versuche gerade einen Multiboot USB, mit automatisierten Backup, Neuinstallation und Wiederherstellung des Backups per BAT zu programmieren.
Das Problem ist das es immer unterschiedliche Rechner mit unterschiedlichen Profilen sind.

Ich schreibe gerade an einer BAT in der ich an Kundenrechner, die neu zu Formatieren sind, die eigene Dateien zu sichern, eine Neuinstallation durchführen, Standartprogramme installiert und die Gesicherten Dateien wieder herstellt.
das Betriebssystem ist immer XP.
Alles haut soweit hin nur wenn mehrere Benutzer installiert sind, da komme ich nicht weiter.
Wenn nur ein Benutzer auf dem Rechner installiert ist ist das mit %userprofile% kein Problem.

Wie kann ich eine Abfrage starten die mir zb die eigenen Dateien von verschieden, immerwieder unterschiedlichen Benutzern ausliest.

zb: Die Ordnerstrucktur liest sich folgenderweise:

C:\Dokumente und Einstellungen\All Users
C:\Dokumente und Einstellungen\Toxilap
C:\Dokumente und Einstellungen\Admin
C:\Dokumente und Einstellungen\DAU
C:\Dokumente und Einstellungen\Default User
C:\Dokumente und Einstellungen\LocalService
C:\Dokumente und Einstellungen\NetworkService

Nun möchte ich von von den usern Toxilap, Admin und DAU die eigenen Dateien speichern.
Die Usernamen sind beim nächsten Rechner wieder ganz anders.

die Standart User wie All User, Defaultuser, LocalService und NetworkService sollen nicht gesichert werden.

Wie gesagt das aktuelle Konto ist kein Problem auszulenen aber die anderen zwei.

Ach ja wenn Ihr eine Lösung habt und die nur reinschreibt bin ich euch dankbar! Wenn Ihr mir aber noch zu den befehlszeilen was dazuschreibt wäre ich euch extrem Dankbar.

Danke schon mal im vorraus für eure Hilfe.

lg Toxilap
Mitglied: bastla
10.12.2010 um 12:12 Uhr
Hallo Milzbrand!

Als Grundlage / Denkanstoß zum Testen direkt an der Kommandozeile (daher nur %i und nicht %%i):
for /f "delims=" %i in ('dir /b /ad "%userprofile%\.."^|findstr /i /v /c:"All Users" /c:"Default User" /c:"LocalService" /c:"NetworkService"') do @echo "%i"
Die für "dir" und "findstr" verwendeten Optionen sollten sich mit der Online-Hilfe (zB "dir /?"') nachvollziehen lassen (ev mit Ausnahme der mehrfachen "/c:" - hier gilt die Regel: wenn einmal ein Suchbegriff (wegen enthaltener Leerzeichen) so angegeben wurde, müssen auch alle weiteren nach "/c:" geschrieben werden) ...

"%userprofile%\.." geht vom Profilordner des aktuellen Users eine Ebene nach oben und sollte sich daher auch zB für Vista / 7 (wo es ja keine "Dokumente und Einstellungen" gibt) verwenden lassen.

Alternativ (diesmal als Batch):
01.
pushd "%userprofile%\.." 
02.
for /f "delims=" %%i in ('dir /b /ad^|findstr /i /v /c:"All Users" /c:"Default User" /c:"LocalService" /c:"NetworkService"') do echo "%%i" 
03.
popd
Hier musst Du Dir für die Verarbeitung (bisher nur durch
echo "%%i"
angedeutet) keine Gedanken mehr wegen des Pfades machen ...

Grüße
bastla
Bitte warten ..
Mitglied: Milzbrand
10.12.2010 um 14:11 Uhr
Erstmal dank Dir Bastla,

Eigendlich genau das was ich suche. ich habe es ein wenig verändert:

for /f "delims=" %%i in ('dir /b /ad^|findstr /i /v /c:"All Users" /c:"Default User" /c:"LocalService" /c:"NetworkService"') do set user=%user%%%i

Entschuldige meine unwissenheit aber wie könnte ich das noch verwirklichen das ich den einzelnen Usern ne Zahl zuordne?
also im oberen Fall

User1=Toxilap
User2=Admin
User3=DAU

Ich kenne zwar den Befehl set user%zahl%=%user%%%i
denke aber das ich das damit hier nicht weiterkomme.

Dank dir schonmal.


lg Toxilap
Bitte warten ..
Mitglied: bastla
10.12.2010 um 16:10 Uhr
Hallo Milzbrand!

Wenn Du das wirklich brauchst (wozu eigentlich), dann etwa so:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a Nr=1 
03.
pushd "%userprofile%\.." 
04.
for /f "delims=" %%i in ('dir /b /ad^|findstr /i /v /c:"All Users" /c:"Default User" /c:"LocalService" /c:"NetworkService"') do ( 
05.
    set "User!Nr!=%%i" 
06.
    set /a Nr+=1 
07.
08.
popd
Grüße
bastla

[Edit] Fehlendes "a" in Zeile 2 ergänzt [/Edit]
Bitte warten ..
Mitglied: Milzbrand
10.12.2010 um 18:21 Uhr
Hallo Bastla,

ich sitze hier nun schon geschlagene 2 Stunden und versuche die Lösung zu finden, ich will mir ja nicht nachsagen lassen es ist alles nur geklaut. fg

Deine Zeilen Passen soweit wobei im mittelteil es nicht das tut was es soll.

ich habe ein wenig rumgeschrieben und Ja ein Anfänger tut sich halt noch schwerer bzw hat noch nicht die geistigen Möglichkeiten.
Aus deinem
do (
set "User!Nr!=%%i"
set /a Nr+=1
)
habe ich gemacht
do (
set "User%Nr%=%%i"
set /a Nr=%Nr%+1
)

Leider zählt er in keinem der Fälle hoch sondern gibt immer nur User1 aus.

Wofür ich das brauche?
Wie geschrieben bekomme ich immer unterschiedliche Rechner mit den unterschiedlichsten Profilen, die ich erst sichern muss, danach das OS neuinstallieren und anschliessend die Daten wieder herstellen muss. bisher habe ich das immer umständlich per Drag and Drop gemacht. nun möchte ich den ganzen Prozess eben automatisieren.

dank dir nochmal für deine Hilfe.


lg Milzbrand
Bitte warten ..
Mitglied: Biber
10.12.2010 um 18:33 Uhr
Moin Milzbrand,

die Schreibweise set "User!Nr!=%%i" , die bastla verwendet hat bewirkt, das die Variable !Nr! quasi erst genau dann aktuell "berechnet" wird, wenn der Programmablauf genau dort angelang. Die Variablenauflösung wird also "verzögert". Neudeutsch "Delayed expansion".

Wenn du keine "DelayedExpansion" verwendest, also die Variable User%Nr% statt Variable User!Nr! ansprichst, dann hat %Nr% immer noch denselben wert, wie er VOR Beginn der ganzen Programmzeile war.
Ganze Programmzeile=Zeile beginnend "FOR /F .....{bla} DO ( .."

Suche mal hier m Forum nach DelayedExpansion-> bevor dir das nicht richtig klar ist, solltest du NICHT irgendwelche %usersprofile% wegsichern.

Grüße
Biber
Bitte warten ..
Mitglied: Milzbrand
10.12.2010 um 19:17 Uhr
Hallo Biber,

Ich habe mir die Zeilen die Bastla geschrieben hat angesehen und versucht sie erstens zu verstehen und zweitens so zu schreiben das es geht.
Leider habe ich in diesem bereich nur Anfängerwissen das es mir aber erlaubt mit Batch einfache Struckturen auszuführen.
Das ein xcopy %userprofile%\Eigene Dateien zwingend mit delayedexpansion gehandhabt werden muss kann ich mir nicht vorstellen.
Vieleicht drücke ich mich auch nur falsch aus.
Fakt ist das das was Bastla geschrieben hat nicht hochzählt und ich mir nicht erklären kann wiso bzw. was ich ändern muss das es hochzählt.


lg Milzbrand
Bitte warten ..
Mitglied: bastla
10.12.2010 um 20:31 Uhr
Hallo Milzbrand!

  • Fakt ist, dass in Zeile 2 ein "a" gefehlt hat (ist inzwischen oben nachgetragen), was dazu führte, dass zunächst nur eine Variable %User% entstanden ist.
  • Fakt ist auch, dass die weiteren User dann sehr wohl als %User1%, %User2%, ..., %Usern% erstellt wurden.
  • Fakt ist weiters, dass diese Variablen nur innerhalb des Batches zur Verfügung stehen - wenn Du als letzte Zeile noch
set User
hinzufügst, kannst Du das Ergebnis auch sehen.
  • Fakt ist schließlich, dass Du bisher noch kein Wort über den (vermeintlichen) Sinn dieser Nummerierung verloren hast.

Grüße
bastla
Bitte warten ..
Mitglied: Milzbrand
10.12.2010 um 21:02 Uhr
Juhu super Dankeeee es geht!
Nicht in deinen zeilen war der Fehler sondern in meinem kopf.
Manchmal sieht man den Wald vor lauter Bäumen nicht.

Die Nummerierung wird Folgenderweisse verwendet:

erster schritt
Backup der einzelnen User über das Netzwerk (\\lala\backup\rechner\user\eigene dateien)
In dem Backup wird eine Textdatei mit den einzelnen Usern und anderen variablen geschrieben. (Broser, Emailprogramm etc.)
zweiter schritt
Neuinstallation von Windows
dritter schritt
Auslesen der Textdatei
Erstellen der Userprofile laut der Textdatei
Automatisierte Installation der Programme und wiederherstellen der Daten (z.b. Lesezeichen)

Da ich die Variable User an mehreren Stellen in der Batch brauche ( sie hat bisher über 300 zeilen) dachte ich ist es das sinnvollste die User als User1 etc zu haben.
Warscheinlich denkst du dir jetzt da gibts einfachere Wege zum Ziel aber der erscheint mir am sinnvollsten.

Dank dir nochmals ganz sakrisch.

lg Milzbrand
Bitte warten ..
Ähnliche Inhalte
Router & Routing

Verschiedene VLAN mit eigenem Internetanschluss

gelöst Frage von TirgelRouter & Routing4 Kommentare

Hi Leute Ich habe folgendes Problem bei dem ich mir nicht ganz sicher bin wie ich es angehen soll ...

Batch & Shell

Batch: Dateien automatisch in verschiedene Ordner sortieren

gelöst Frage von XanderoBatch & Shell11 Kommentare

Hallo Community, ich möchte folgende Aufgabe per Batch lösen: In einem Ordner werden täglich mehrere csv-Dateien angelegt, die nach ...

Windows Server

Gelöschte Datei auf dem Desktop wird automatisch wiederhergestellt - Servergespeichertes Profil

gelöst Frage von QugartWindows Server5 Kommentare

Schönen Freitagmorgen! Ja, es ist Freitag Eine Userin hat mich angesprochen, dass sie zwei Dateien auf dem Desktop jetzt ...

Batch & Shell

Batchdatei soll überprüfen, ob auf eine Log Datei

Frage von hoppalaBatch & Shell1 Kommentar

Hiho :) ! Ein Freund und ich haben eine Batchdatei erstellt, leider kommen wir bei einer Sache nicht weiter. ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement13 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware12 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

Router & Routing
VPN hinter zweiter Fritzbox nutzen im Nachbarhaus
gelöst Frage von georg2204Router & Routing10 Kommentare

Hallo zusammen, ich blicke hier leider nicht mehr so ganz durch. In Haus 1 steht eine Fritzbox 7390, diese ...