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
Please also mark the comments that contributed to the solution of the article
Content-ID: 1147584829
Url: https://administrator.de/contentid/1147584829
Printed on: September 1, 2024 at 05:09 o'clock
3 Comments
Latest comment
![149062](/images/members/profile_male_48x48.png)
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ß