Batch-Skripte in PowerShell umwandeln
Hallo liebe Gemeinde
gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?
mein Problem ist, ich habe ein Server bekommen.
Dort laufen mehrere Batch-Skipte täglich ab.
Dies soll nun durch PowerShell ersetzt werden.
Und weil es so schön ist, natürlich zeitnah.
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Daher die frage, ob man dies eventuell automatisiert umwandeln kann.
Danke und Grüße
gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?
mein Problem ist, ich habe ein Server bekommen.
Dort laufen mehrere Batch-Skipte täglich ab.
Dies soll nun durch PowerShell ersetzt werden.
Und weil es so schön ist, natürlich zeitnah.
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Daher die frage, ob man dies eventuell automatisiert umwandeln kann.
Danke und Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 609188
Url: https://administrator.de/contentid/609188
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
23 Kommentare
Neuester Kommentar
Moin.
Nein, vollkommen automatisiert gibt es das nicht, dazu sind die Scripting-Möglichkeiten zu vielfältig, und wenn, wie solltest du auf sicherlich irgendwo auftauchende Probleme regieren können wenn du nicht das entsprechende Wissen vorweisen kannst? Es bleibt dir nur dir das nötige Wissen anzueignen, dann eine Script-Sprache zu verwenden die du beherrschst wenn du der Verantwortliche dafür bist, oder jemanden einzustellen der die Arbeit für euch vornimmt und am besten gleich auch gut dokumentiert.
Für simple Skript-Schnitzel kann man sicherlich Converter/Parser programmieren, aber wenn die Skripte komplexe Abläufe abarbeiten wird das fast unmöglich zu automatisieren.
Außerdem gibt es in Powershell viel mehr Möglichkeiten Dinge effizienter abzuarbeiten als mit Batch-Algorithmen. Das einfach nachahmen
von Batch Schritten würde also meist zu sehr ineffektiven PS Skripten führen.
Gruß
W.
Nein, vollkommen automatisiert gibt es das nicht, dazu sind die Scripting-Möglichkeiten zu vielfältig, und wenn, wie solltest du auf sicherlich irgendwo auftauchende Probleme regieren können wenn du nicht das entsprechende Wissen vorweisen kannst? Es bleibt dir nur dir das nötige Wissen anzueignen, dann eine Script-Sprache zu verwenden die du beherrschst wenn du der Verantwortliche dafür bist, oder jemanden einzustellen der die Arbeit für euch vornimmt und am besten gleich auch gut dokumentiert.
Für simple Skript-Schnitzel kann man sicherlich Converter/Parser programmieren, aber wenn die Skripte komplexe Abläufe abarbeiten wird das fast unmöglich zu automatisieren.
Außerdem gibt es in Powershell viel mehr Möglichkeiten Dinge effizienter abzuarbeiten als mit Batch-Algorithmen. Das einfach nachahmen
von Batch Schritten würde also meist zu sehr ineffektiven PS Skripten führen.
Gruß
W.
Moin,
Nein, gibt es nicht und macht aus diversen Gründen auch überhaupt keinen Sinn.
Gruß Thomas
Nein, gibt es nicht und macht aus diversen Gründen auch überhaupt keinen Sinn.
mein Problem ist, ich habe ein Server bekommen.
Dort laufen mehrere Batch-Skipte täglich ab.
Dies soll nun durch PowerShell ersetzt werden.
Und weil es so schön ist, natürlich zeitnah.
Wo ist das Problem? Wenn die Batch-Skripte derzeit fehlerfrei laufen, immer eins nach dem anderen umschreiben und austauschen; und die anderen so lange weiter laufen lassen.Dort laufen mehrere Batch-Skipte täglich ab.
Dies soll nun durch PowerShell ersetzt werden.
Und weil es so schön ist, natürlich zeitnah.
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Dabei können wir dir ja zur Not helfen.Gruß Thomas
gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?
Ja.
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Daher die frage, ob man dies eventuell automatisiert umwandeln kann.
Daher die frage, ob man dies eventuell automatisiert umwandeln kann.
Nein, zur Zeit nicht.
Programmieren ist Arbeit.
Moin Tommy,
die Frage ist ja: Warum sollen die Skripte von Batch zu PowerShell wandern. In welcher Form der Befehl ausgeübt wird, ist da in meinen Augen recht egal. Batch wird genau so unterstützt wie Powershell, allerdings gibt bei Powershell einiges zu beachten was konfiguriert werden muss. Stichwort ExecutionPolicy. Einige Batch-Befehle funktionieren 1:1 in Powershell. Aber es macht keinen Sinn die Skripte einfach umzuschreiben ohne die Funktionen von Powershell zu nutzen.
Wenn es bei euch in der Firma niemanden gibt, der das kann, dann empfehle ich Schulung, einschlägige Webseiten und Bücher um PS zu lernen und zu verstehen, bevor du dich daran machst die Skripte umzuschreiben.
Mein Tipp:
Nimm dir einfach ein Skript und versuche das was das Skript macht in Powershell umzusetzen. Dann hast du (a) ein realistisches Ziel und (b) kennst du das Ergebnis durch dein BATCH-Skript ja schon und kannst diese vergleichen.
die Frage ist ja: Warum sollen die Skripte von Batch zu PowerShell wandern. In welcher Form der Befehl ausgeübt wird, ist da in meinen Augen recht egal. Batch wird genau so unterstützt wie Powershell, allerdings gibt bei Powershell einiges zu beachten was konfiguriert werden muss. Stichwort ExecutionPolicy. Einige Batch-Befehle funktionieren 1:1 in Powershell. Aber es macht keinen Sinn die Skripte einfach umzuschreiben ohne die Funktionen von Powershell zu nutzen.
Wenn es bei euch in der Firma niemanden gibt, der das kann, dann empfehle ich Schulung, einschlägige Webseiten und Bücher um PS zu lernen und zu verstehen, bevor du dich daran machst die Skripte umzuschreiben.
Mein Tipp:
Nimm dir einfach ein Skript und versuche das was das Skript macht in Powershell umzusetzen. Dann hast du (a) ein realistisches Ziel und (b) kennst du das Ergebnis durch dein BATCH-Skript ja schon und kannst diese vergleichen.
Moin,
Frage: Gibt es eine Möglichkeit, meinen Golf I in einen aktuellen Ferrari umzuwandeln?
Antwort: Ja, verschrotte den Golf und kaufe einen Ferrari.
Und so ist es auch mit Batch und Powershell. Batch wird verschrottet und alles in der PS neu programmiert (wenn es denn sein muss).
Liebe Grüße
Erik
Frage: Gibt es eine Möglichkeit, meinen Golf I in einen aktuellen Ferrari umzuwandeln?
Antwort: Ja, verschrotte den Golf und kaufe einen Ferrari.
Und so ist es auch mit Batch und Powershell. Batch wird verschrottet und alles in der PS neu programmiert (wenn es denn sein muss).
Liebe Grüße
Erik
Tourette? Dreimal hält besser oder wie??
Ändert ja nichts, entweder selber in die Materie einarbeiten oder jemanden ins Boot holen der dir das umschreibt.
Moin,
Das heisst: Wenn du ein Externes Programm wie z.B. 7zip zum entpacken nutzt, ist der Befehl ist immer gleich - ganz egal ob du diesen nun über CMD oder Powershell ausführst. Angepasst werden müssen da nur die Variablen, sofern denn überhaupt welche genutzt wurden.
Gruß Thomas
Zitat von @ZTommy:
Ein bekanntes Entpackungstool, was hier jedem bekannt sein sollte und als Freeware sich jeder runterladen kann.
Da kommen einige infrage, warum so kryptisch?! Nenn doch mal einen Namen.Ein bekanntes Entpackungstool, was hier jedem bekannt sein sollte und als Freeware sich jeder runterladen kann.
Dieses Entpackungstool wurde quasi mit in die Batch-Skripte eingebaut bzw. Batch-Skript.
Du scheinst ein Grundverständnisproblemm zu haben: Externe Programme geben immer die Syntax vor!Das heisst: Wenn du ein Externes Programm wie z.B. 7zip zum entpacken nutzt, ist der Befehl ist immer gleich - ganz egal ob du diesen nun über CMD oder Powershell ausführst. Angepasst werden müssen da nur die Variablen, sofern denn überhaupt welche genutzt wurden.
Gruß Thomas
Einfach so rausnehmen und für sich nur als PowerShell befehl das zu schreiben, glaube ich, macht kein Sinn.
Wüsste jetzt auch nicht wie.
Wüsste jetzt auch nicht wie.
Kommt drauf an. Wenn es 7zip Archive sind, scheiterst du vermutlich ohne Zusatzsoftware.
Wenn es allerdings Zip-Archive sind lauten die magischen Worte in Powershell:
Expand-Archive -Path Zip-Archiv.Zip -DestinationPath C:\Wohinauchimmer
da ich das Skript nicht kenne, kannst du vielleicht einige Teile beibehalten. Macht aber wenig Sinn-
Wenn deine Aufgabe "Die Batch-Skripte ersetzen" ist, dann musst du wohl oder üble es nach PS portieren und neu schreiben. Wenn die Aufgabe allerdings ist 7Zip loszuwerden, dann könntest du (theoretisch) einen Teil in BATCH lassen und einen Teil nach PS portieren (wie das entpacken. Da ich aber deine Skripte nicht kenne und bestimmt nach dem Entpacken noch was kommt, wäre die Reihenfolge dann sicher BATCH -> PS -> Batch. Das Ganze wird in Summe dann komplizierten zu betreuen. Und wie du sagtest:
Also Um deine Frage zu beantworten: Kann man so machen, kann man aber auch gleich richtig machen und nach PS bringen. Mach es selbst, schreib Sie per Hand, lass dir hier helfen. Du lernst eine Menge und du weißt was die Skripte machen, was dir Änderungen und Fehlersuche deutlich erleichtert. Und ja, dauert länger
Gruß
Doskias
Oder hilft es, den Step zum entpacken auszubauen und dann von dem Batch-Skript aus auf die PowerShell zu verweisen?
Mit PowerShell ist ja entpacken ohne 7Zip möglich.
Mit PowerShell ist ja entpacken ohne 7Zip möglich.
Wenn deine Aufgabe "Die Batch-Skripte ersetzen" ist, dann musst du wohl oder üble es nach PS portieren und neu schreiben. Wenn die Aufgabe allerdings ist 7Zip loszuwerden, dann könntest du (theoretisch) einen Teil in BATCH lassen und einen Teil nach PS portieren (wie das entpacken. Da ich aber deine Skripte nicht kenne und bestimmt nach dem Entpacken noch was kommt, wäre die Reihenfolge dann sicher BATCH -> PS -> Batch. Das Ganze wird in Summe dann komplizierten zu betreuen. Und wie du sagtest:
Zitat von @ZTommy:
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Also Um deine Frage zu beantworten: Kann man so machen, kann man aber auch gleich richtig machen und nach PS bringen. Mach es selbst, schreib Sie per Hand, lass dir hier helfen. Du lernst eine Menge und du weißt was die Skripte machen, was dir Änderungen und Fehlersuche deutlich erleichtert. Und ja, dauert länger
Gruß
Doskias
Moin,
für Dein Vorhaben lies mal diesen Beitrag:
PowerShell Skripte für das Datei Kontextmenü erstellen - am Beispiel VirusTotal API
Der erklärt, wie Du ein PS-Skript ins Kontextmenü einbindest. Mach es rein mit Powershell, wenn Du es neu machen willst. Alles andere wäre Murks. Das ist zwar mehr Aufwand. Aber Du wirst die Powershell genauso lieben, wie Du jetzt das Batchprogrammieren hasst.
Liebe Grüße
Erik
für Dein Vorhaben lies mal diesen Beitrag:
PowerShell Skripte für das Datei Kontextmenü erstellen - am Beispiel VirusTotal API
Der erklärt, wie Du ein PS-Skript ins Kontextmenü einbindest. Mach es rein mit Powershell, wenn Du es neu machen willst. Alles andere wäre Murks. Das ist zwar mehr Aufwand. Aber Du wirst die Powershell genauso lieben, wie Du jetzt das Batchprogrammieren hasst.
Liebe Grüße
Erik
Zitat von @ZTommy:
Danke Dir
Naja, bzgl. lieben, das wird dann wohl ne sehr große Liebe, wenn ich das hasse
Danke Dir
Naja, bzgl. lieben, das wird dann wohl ne sehr große Liebe, wenn ich das hasse
Wer die Batch nicht hasst, ist entweder über 65 oder Masochist.