Seite 1 von 1

WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed! [gelöst]

Verfasst: 11.09.2024, 11:46
von Holgi
Ich möchte meinen erworbenen Key für Winrar (Rarreg.key) in einer autounattend.xml mit Echo Befehlen erstellen lassen und ins Programmverzeichnis kopieren. Das soll mir letztlich ersparen, den Key vorab ins Installationsmedium zu kopieren.
Grundsätzlich funktioniert es.
Aber es gibt ein Problem mit der allerletzten Zeile. Die muss bei der letzten Zahl (oder, je nach Key), mit dem letzten Buchstaben abgeschlossen sein. Nix mehr in der nächsten Zeile. Auch keine Leerstellen/-Zeichen.
Ein RARREG.key ist grds. so aufgebaut:

Code: Alles auswählen

RAR registration data
RarLab 
Deskmodder 
UID=12345678909876543212
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
Dies ist natürlich keine echter/funktionierender Key. Nur ein Beispiel!
Wenn ich jetzt mit einem Script
rarreg.cmd

Code: Alles auswählen

SET NEWLINE=^& echo.
@Echo off

ECHO %NEWLINE%^RAR registration data>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^RarLab>>"%programfiles%\Winrar\rarreg.key" 
ECHO %NEWLINE%^Deskmodder>>"%programfiles%\Winrar\rarreg.key" 
ECHO %NEWLINE%^UID=12345678909876543212>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
ECHO %NEWLINE%^a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee>>"%programfiles%\Winrar\rarreg.key"
diesen Key erzeugen lasse, dann sieht das zwar genauso aus, wie in dem Beispiel Key, aber nach dem letzten Buchstaben ("e") ist noch ein Zeilensprung (oder wie man dann nennt). Quasi so:

Code: Alles auswählen

RAR registration data
RarLab 
Deskmodder 
UID=12345678909876543212
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee<hier sollte der Cursor stehen
>hier steht aber der Cursor
Das mag WINRAR gar nicht, und sieht den Key nicht als gültig an.
Frage:
wie erreiche ich mit den ECHO Befehlen (oder anders), dass mit

Code: Alles auswählen

a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
die Datei abgeschlossen ist?

Re: WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed!

Verfasst: 11.09.2024, 12:17
von g-force
Zwischenfrage: Reicht es nicht, daß die Key-Datei mit im WinRAR-Verzeichnis liegt?

Re: WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed!

Verfasst: 11.09.2024, 12:27
von Holgi
Zwischenantwort:
Winrar wird mit Winget durch die autounattend installiert. Ein $OEM$ Ordner soll nicht mehr angelegt werden.
Wie kommt der Key ins Winrar-Programm-Verzeichnis (ohne copy zu bemühen)?

Re: WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed!

Verfasst: 11.09.2024, 12:44
von g-force
Okay, wenn $OEM$ nicht infrage kommt, wird es schwierig.
Vielleicht testweise das letzte "Newline" weglassen?

Re: WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed!

Verfasst: 11.09.2024, 13:05
von Holgi
stelle gerade mir Schrecken fest, dass es wohl doch an etwas Anderem liegt.
Man kann beruhigt Leerzeichen am Ende setzen und der Key funktioniert dennoch.
Jetzt stellt sich für mich die Frage:
Was macht den Unterschied aus? Inhaltlich sind die Dateien gleich. Beide UTF-8 kodiert.

Re: WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed!

Verfasst: 11.09.2024, 13:23
von Holgi
ich bin einen Schritt weiter:
es liegt zwar an Leerzeichen, aber nicht am Ende, sondern in den beiden Zeilen:

Code: Alles auswählen

ECHO %NEWLINE%^RarLab>>"%programfiles%\Winrar\rarreg.key" 
ECHO %NEWLINE%^Deskmodder>>"%programfiles%\Winrar\rarreg.key" 
Da wird hinter RarLAB und hinter Deskmodder ein Leerzeichen eingefügt, welches da nicht hintgehört.
Wie bekomme ich das in den Griff?

Re: WINRAR RARREG.key on the fly mit ECHO Befehlen erzeugen. Help Needed!

Verfasst: 11.09.2024, 14:06
von Holgi
Lösung gefunden. Dank ChatGPT, wo ich folgende Info erhielt:
Wenn beim Erstellen der Datei mit dem echo-Befehl unerwünschte Leerzeichen oder Zeilenumbrüche entstehen, kannst du sicherstellen, dass der Text genau so in die Datei geschrieben wird, wie er vorgesehen ist. Standardmäßig kann der echo-Befehl jedoch ungewollte Leerzeichen hinzufügen, wenn du ihn nicht richtig verwendest.
Das Ergebnis sieht jetzt so aus und funktioniert:

Code: Alles auswählen

@Echo off
(
ECHO RAR registration data
ECHO RarLab
ECHO Deskmodder
ECHO UID=12345678909876543212
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
ECHO a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6slksuwe36gdhdhewzdhw68ee
) > "%programfiles%\Winrar\rarreg.key"