CMD Befehl funktioniert in einer Batch nicht
Hallo Zusammen
Ich bin derzeit an einem Batch Skript das Windows Registry Einträge ändern soll dran. Als ich nun nach langem recherchieren den passenden Code dazu gefunden habe, musste ich feststellen, das dieser Code zwar im CMD funktioniert, jedoch wenn ich dies als Batch abspeichere und ausführe, nicht mehr funktioniert. Anschliesend habe ich angefangen gewisse Teile zu löschen und habe festgestellt, das ab ="%1" der Rest des Befehls Probleme bereitet. Hätte jemand eine Idee? Unten den vorhin genannten Code:
REG ADD HKCR\F-FF2222.Site\shell\open\command /ve /d \"D:\SoftwareTools\F-F200\DE_xx_V88.0\F-FF2222.exe" -openconfig file="%1" --launcher.ini "D:\SoftwareTools\F-FF200\DE_xx_V88.0\F-FF2222.ini\" /f /reg:64
Vielen Dank
Ich bin derzeit an einem Batch Skript das Windows Registry Einträge ändern soll dran. Als ich nun nach langem recherchieren den passenden Code dazu gefunden habe, musste ich feststellen, das dieser Code zwar im CMD funktioniert, jedoch wenn ich dies als Batch abspeichere und ausführe, nicht mehr funktioniert. Anschliesend habe ich angefangen gewisse Teile zu löschen und habe festgestellt, das ab ="%1" der Rest des Befehls Probleme bereitet. Hätte jemand eine Idee? Unten den vorhin genannten Code:
REG ADD HKCR\F-FF2222.Site\shell\open\command /ve /d \"D:\SoftwareTools\F-F200\DE_xx_V88.0\F-FF2222.exe" -openconfig file="%1" --launcher.ini "D:\SoftwareTools\F-FF200\DE_xx_V88.0\F-FF2222.ini\" /f /reg:64
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator colinardo am 12.08.2021 um 10:54:53 Uhr
Bash zu Batch und Kategorie korrigiert
Content-ID: 1147584829
Url: https://administrator.de/contentid/1147584829
Ausgedruckt am: 24.11.2024 um 12:11 Uhr
3 Kommentare
Neuester Kommentar
Ich bin derzeit an einem Bash Skript das Windows Registry Einträge ändern soll dran.
Joa nee, vielleicht ist das in der Schweiz so aber nicht hier ...Bash = Linux
Batch = Windows
Hätte jemand eine Idee? Unten den vorhin genannten Code:
Da fehlen ein paar escapes bzw. verdoppelte ProzentzeichenREG ADD "HKCR\F-FF2222.Site\shell\open\command" /ve /d "\"D:\SoftwareTools\F-F200\DE_xx_V88.0\F-FF2222.exe\" -openconfig file=\"%%1\" --launcher.ini \"D:\SoftwareTools\F-FF200\DE_xx_V88.0\F-FF2222.ini\"" /f /reg:64
Moin,
du meinst Batch, nicht Bash ;)
Und versuch es mal mit "%%1", dann wird es funktionieren.
In einem Batch-Skript wird bei einem %-Zeichen nach einer Variable gesucht, wodurch diese dann, sofern eben nicht gesetzt, leer gelassen wird. Direkt auf der Kommandozeile gibt es keine Angabe von Variablen, wodruch der Parameter direkt so übernommen wird, und das Phänomen hier dann nicht auftritt. Mit %% umgehst du das Problem.
Gruß
du meinst Batch, nicht Bash ;)
Und versuch es mal mit "%%1", dann wird es funktionieren.
In einem Batch-Skript wird bei einem %-Zeichen nach einer Variable gesucht, wodurch diese dann, sofern eben nicht gesetzt, leer gelassen wird. Direkt auf der Kommandozeile gibt es keine Angabe von Variablen, wodruch der Parameter direkt so übernommen wird, und das Phänomen hier dann nicht auftritt. Mit %% umgehst du das Problem.
Gruß