casi4712 0 Geschrieben 12. Februar 2020 Melden Teilen Geschrieben 12. Februar 2020 Hallo allerseits, ich habe mal eine ganz bescheidene Fraen an usere Experten hier. Ich versuche mehere Verzeichnisse in einer Batch regelmäßig zu sichern. Ich woltle es auf die elegante Weise machen, nach dem mir ezählt wurde nimm einfach eine Eingabe TXT-Datei für die Ordnernamen. Auszugsweise sieht das bei mir so aus: @Echo Off FOR /D %%i IN (local.txt) DO ROBOCOPY "%USERPROFILE%\Appdata\Local\%%i" "%~dp0\set\profile\%USERNAME%\Appdata\Local\%%i" /PURGE /B /E /R:0 /ZB>nul 2>&1 FOR /D %%j IN (roaming.txt) DO ROBOCOPY "%USERPROFILE%\Appdata\roaming\%%j" "%~dp0\set\profile\%USERNAME%\Appdata\roaming\%%j" /PURGE /B /E /R:0 /ZB>nul 2>&1 FOR /D %%t IN (profil.txt) DO ROBOCOPY "%USERPROFILE%\%%t" "%~dp0\set\profile\%USERNAME%\%%t" /PURGE /B /E /R:0 /ZB>nul 2>&1 Als Eingabe datei steht in der roaming.txt zB: GOOGLE Network ADB High Resolution Enteprise Dies funktioniert auch wunderbar, nur dort wo Leerzeichen sind geht es nicht, wenn ich die Namen in "" schreibe geht es auch nicht. Wie muss es denn heissen? Danke i.V. Gruss chris Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 13. Februar 2020 Melden Teilen Geschrieben 13. Februar 2020 Hi, ggfs. wärst du mit einer Lösung wie Veeam Endpoint Backup (oder ggfs. einer Erweiterung eurere Datensicherungslösung) besser und einfacher dran. Gruß Jan Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 13. Februar 2020 Melden Teilen Geschrieben 13. Februar 2020 ... oder Du steigst auf eine aktuellere und von allen Seiter besser unterstützte Scripting Technologie um .... Powershell. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 13. Februar 2020 Melden Teilen Geschrieben 13. Februar 2020 Moin, FOR-Schleifen sind immer eine Sache für sich. Da muss man enorm viel rumprobieren, bis man mal die richtige Variante hat. Um hier nicht gleich mit der Lern-mal-PowerShell-Keule zu arbeiten, werfe ich folgendes Verfahren in den Ring, das ich bei "statischen Schleifen" gern einsetze: [Excel: Admins unbekannter Liebling | faq-o-matic.net]https://www.faq-o-matic.net/2008/01/19/excel-admins-unbekannter-liebling/ Ansonsten haben die Kollegen schon recht - gerade für sowas ist PowerShell nach etwas Einarbeitung viel einfacher und flexibler. Gruß, Nils Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 14. Februar 2020 Melden Teilen Geschrieben 14. Februar 2020 vor einer Stunde schrieb casi4712: Da brauch ich kein Powershell, auch wenns mächtig sein mag, sind mir zuviel geschweifte Klammern drin lach Na ma kukn wer zuletzt lacht. ... irgendwann kommst Du an die Grenze, über die Du mit CMD nicht drüber kommst. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 15. Februar 2020 Melden Teilen Geschrieben 15. Februar 2020 (bearbeitet) Hmmm ... ich weiß ja nicht, warum Du Dich so gegen die deutlich modernere Technologie sträubst, aber ich fürchte, Du hast den eigentlichen Vorteil von Powershell noch nicht erkannt. Der wirklich nutzbringende Mehrwert von Powershell ist eigentlich gar nicht die "Power", die die Shell gegenüber CMD/Batch hat, sondern die sehr sehr viel flachere Lernkurve. Die Powershell ist nicht für Programmierer gemacht, sondern für Administratoren. Gerade für solche - nicht abfällig gemeint - Pille-Palle-Aufgaben wie hier in diesem Thread, brauchst Du keine krude gehirnverrenkende Syntax aus dem letzten Jahrtausend beherrschen. Die Grund-Idee von Powershell hast Du Dir innerhalb einer halben Stunde draufgeschafft und von da an geht es nur noch steil bergauf. Jeder, der ansatzweise der englishen Sprache mächtig ist, kann auch ohne langes Studium die Syntax von Powershell sehr einfach verstehen. Und wenn man dann erstmal die Grundlagen drauf hat, dann geht der Spaß erst richtig los, weil man sich jetzt mit der gleichen einfachen Syntax die richtig kniffligen Aufgaben vornehmen kann. Und nicht zuletzt bekommt man bei Problemen mit Powershell-Code schneller und mehr und meistens auch bessere Hilfe, weil sich auch viel mehr Menschen damit beschäftigen und sich mehr damit auskennen. bearbeitet 15. Februar 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 15. Februar 2020 Melden Teilen Geschrieben 15. Februar 2020 Ich hab in Powershell eine Software für das Management von Projekten geschrieben. Unterschätze nicht das was du nicht kennst :) Ich stimme Olaf zu und kann es Dir auch nur ans Herz legen. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 15. Februar 2020 Melden Teilen Geschrieben 15. Februar 2020 (bearbeitet) Um bei Deiner Analogie zu bleiben: Ein geübter Holzfäller schafft es ganz leicht, sich mit seiner frisch geschärften Axt ein Brötchen zu schmieren. Schaffst Du es, mit einem Brotmesser einen Baum zu fällen? foreach ($Element in (Get-Content -Path .\local.txt)){ robocopy "$ENV:USERPROFILE\AppData\Local\$Element" "$PSScriptRoot\set\profile\$ENV:USERNAME\AppData\Local\$Element" /PURGE /B /E /R:0 /ZB>nul 2>&1 } Die Powershell ist am Ende des Tages ja trotzdem immernoch eine normale Shell und für einfache Aufgaben sind die Unterschiede zwischen den Shells nicht soo groß. Der Punkt - für mich - ist, dass die CMD/Batch bei komplexeren Aufgaben schnell kryptisch wird und an quasi unüberwindbare Grenzen stößt, wo die Powershell eben weitergeht. Aber so lange Du mit CMD/Batch zufrieden bist und zum Ziel kommst, kannst Du es ja auch weiter nutzen. MS wird Dir vermutlich keine Steine in den Weg legen. vor 2 Stunden schrieb casi4712: PS: Mit der halben h bist du Dir sicher? Ich glaube, dass ICH Dir die Grundlagen in einer halben Stunde vermitteln könnte. bearbeitet 15. Februar 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 16. Februar 2020 Melden Teilen Geschrieben 16. Februar 2020 vor einer Stunde schrieb casi4712: ich fänds schade wenn MS die CMD wirklicj aus seinem Betriebssystem rausnehmen sollte, Woher kommt das? Warum sollte MS das machen, was sollte es einbringen? Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 16. Februar 2020 Melden Teilen Geschrieben 16. Februar 2020 (bearbeitet) vor 2 Stunden schrieb casi4712: ich fänds schade wenn MS die CMD wirklicj aus seinem Betriebssystem rausnehmen sollte, Ich denke auch, dass das nicht passieren wird und es ist auch nicht angekündigt oder so. Es hat aber niemand behauptet, dass der Code für Powershell kürzer wäre. Es ist sogar meistens eher das Gegenteil. Und das Meiste an diesem Beispiel ist der robocopy-Befehl und der muss ja in beiden Versionen quasi gleich sein. Durch die ausführlicheren Befehle ist der Powershell-Code aber für Menschen auch einfacher zu lesen und zu verstehen. Bei einem Befehl "Get-Content" oder "Get-Process" oder "Get-Service" braucht niemand raten, was die Befehle wohl machen könnten. Bei CMD/Batch-Befehlen die nur 2 Buchstaben lang sind, ist das schon ein bissl kniffliger. Und wenn es dann mit Optionen und Schaltern weitergeht, hat man meistens nur noch einen Buchstaben und Sonderzeichen machen es auch nicht besser ... also z.B. "/D %%t" ... wenn DU ehrlich bist, musst Du zugeben, dass das alles andere als intuitiv und verständlich ist - wenigstens am Anfang. bearbeitet 16. Februar 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.