Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Schlüssel per Batch in Registry schreiben

Frage Entwicklung Batch & Shell

Mitglied: 48046

48046 (Level 1)

21.05.2007, aktualisiert 18.10.2012, 9954 Aufrufe, 12 Kommentare

Moin zusammen...


Weiß nicht ob mein erstes Posting veröffentlicht wurde, Browser blieb stehen. Naja, dann hier nochmal (falls doppelt, sorry)

Also ich möchte per BATCH folgende Schlüssel/Werte in die Registry schreiben:
(Abbild einer Exportierten Werte/Schlüssel in eine Regdatei)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd]
@="Total Commander"

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdConnected]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdConnected\.current]
@="C:\\Programme\\TotalCommander\\SOUND\\Verbunden (FTP).wav"

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdCopyComplete]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdCopyComplete\.current]
@=""

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdDeleteComplete]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdDeleteComplete\.current]
@="C:\\Programme\\TotalCommander\\SOUND\\Löschen komplett.wav"

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdPackComplete]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdPackComplete\.current]
@="C:\\Programme\\TotalCommander\\SOUND\\Packen komplett.wav"

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdSearchComplete]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdSearchComplete\.current]
@="C:\\Programme\\TotalCommander\\SOUND\\Suche komplett.wav"

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdTransferComplete]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdTransferComplete\.current]
@="C:\\Programme\\TotalCommander\\SOUND\\Übertragung komplett.wav"

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdUnpackComplete]

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdUnpackComplete\.current]
@="C:\\Programme\\TotalCommander\\SOUND\\Entpacken komplett.wav"
Nun stehe ich vor zwei Problemen:

1.) Wie kann ich das per Batch realisieren?
2.) Das was jetzt noch als C:\Programme\TotalCommander als Pfadangabe gesetzt ist, MUß ich dann aber als Variable %COMMANDER_PATH% setzen. Ein normales Einsetzen der Variable in die Registry brachte leider keinen Erfolg. Daher vermute ich mal, das man die Variable zuerst in der Batch "entschlüsseln" muß um sie dann als Klartext; sprich normale Pfadangabe in die Registry schreiben zu lassen.

Tja, bin mal gespannt ob sich diese beiden Probleme lösen lassen...........bin aber guter Hoffnung


Gruß
ELMI
Mitglied: cykes
21.05.2007, aktualisiert 18.10.2012
Hi,

benutze doch bitte erstmal die Forensuche, Suchbegriffe z.B. "Registry Batch". Dort findet sich z.B.
folgendes recht umfangreiches Beispiel:

http://www.administrator.de/forum/batch-zugriff-auf-registry-auslesen%2 ...

Gruß

cykes
Bitte warten ..
Mitglied: 48046
21.05.2007 um 12:04 Uhr
Du wirst es nicht glauben, aber das hab ich auch schon gefunden. Nur nutzt mir das recht wenig, da ich von den meisten Befehlen die dort aufgeführt werden, keinerlei Ahnung habe. Zwangsläufig müßte es ja angepasst werden.

Außerdem wäre damit immer noch nicht das andere Problem mit der Variabelnauflösung in der Batch und das anschließende Schreiben wiederum als Klartext in die Registry gelöst.

Ich glaube ihr überschätzt die Kenntnisse mancher Fragesteller sehr. Wenn ich es mit den hier gefundenen Postings lösen hätte können, dann hätte ich sicherlich kein neues Posting aufgemacht!

Gruß
ELMI
Bitte warten ..
Mitglied: SteinBeiser
21.05.2007 um 12:28 Uhr
erstens %COMMANDER_PATH% existiert nur wenn TotalCommander läuft und die cmd/batch aus dem TotalCommander aufgerufen wird.
"C:\\Programme\\TotalCommander" würde ich testweise mal durch %%COMMANDER_PATH%% ersetzen. getestet und geht NICHT.
grund %COMMANDER_PATH% ist nur innerhalb vom TotalCommander vorhanden.
lösung:
batch/cmd vom TotalCommander ausführen und per echo die .reg datei erzeugen mit %COMMANDER_PATH%\\Sound\usw.
diese .reg dann wie von "cykes" beschrieben mit "reg import dateiname" importieren.
Bitte warten ..
Mitglied: cykes
21.05.2007 um 12:41 Uhr
Hi,

Du könntest alternativ, wenn die Schlüssel immer identisch sind, diese in eine .reg Datei exportieren,
diese dann auf die Rechner verteilen und mittels "reg import <REG-Datei>" auf der Kommandozeile importieren. Dürfte auch mit einer Server-Freigabe, in der die REG-Datei liegt funktionieren.

Gruß

cykes
Bitte warten ..
Mitglied: 48046
21.05.2007 um 12:44 Uhr
@SteinBeiser


Hab das mit den zusätzlichen % getestet, leider ohne Erfolg (TC lief).
Trotzdem Danke für Deine Hilfe


@cykes
Ja die Schlüssel/Werte bleiben immer gleich, nur der Pfad ändert sich. Dein Gedankenansatz ist nicht schlecht, hat was. Nur realisieren kann ich das leider selber nicht, da meine Batch-Kenntnisse nicht gerade in die Tiefe gehen. Schon garnicht was das Schreiben in die Registry betrifft. Wäre schön, wenn sich jemand findet, der mir da unter die Arme greift...



Gruß
ELMI
Bitte warten ..
Mitglied: onegasee59
21.05.2007 um 12:47 Uhr
Hallo,
wenn Du die datei.reg schon vorliegt, reicht dir dann nicht ein regedit /s datei.reg (Kommandozeile) zum wieder importieren?

gruß
onegasee59
Bitte warten ..
Mitglied: 48046
21.05.2007 um 12:52 Uhr
@onegasee59

Ja, die Reg-Datei liegt im Prinzip vor, hab sie ja exportiert.

Wenn dieser von Dir gepostete Befehl ausreicht um die Reg-Datei zurückzuschreiben, wäre das schon mal die halbe Miete. Nur müssen die Pfadangaben ausgetauscht werden können. Wenn das noch klappen würde, wäre alles perfekt

Gruß
ELMI
Bitte warten ..
Mitglied: onegasee59
21.05.2007 um 12:57 Uhr
Hallo,
Ah sorry jetzt hab ich es verstanden.
Die *.reg ist ja ne im prinzip ne Textdatei:
Wenn es manuell reicht würde ich den betreffenden Pfad in der reg-Datei vorher per Rechtkslick auf "Bearbeiten" und nach öffnen über "Bearbeiten" - "Ersetzen" austauschen.

Ja und dann per Kommandozeile mit "regedit /s dateiname.reg" importieren.
oder per Batch wie schon geschrieben "reg import dateiname.reg"
registry bearbeiten per Befehl reg ... --> siehe in der Hilfe

gruß
onegasee59
Bitte warten ..
Mitglied: 48046
21.05.2007 um 13:03 Uhr
@onegasee59

Klar, das wäre kein Problem. Aber dazu müsste ich dann bei jeder Installationsphase anwesend sein. Nein, es soll schon automatisch von der Batch erledigt werden.

Bräuchte also praktisch eine Befehlszeile, die in der Lage wäre, die zuvor exportierte Reg-Datei (im Prinzip ja jetzt eine txt) die Pfadangaben zu erkennen und entsprechend auszutauschen.

Dann könnte ich anschließend mit dem Befehl den Du schon vorgeschlagen hast (habs probiert, und geht prima) die Reg-Datei wieder zurück importieren


Gruß ELMI
Bitte warten ..
Mitglied: SteinBeiser
21.05.2007 um 13:03 Uhr
batchdatei muss aber aus dem TotalCommander ausgeführt werden.
01.
@echo off 
02.
 
03.
echo Windows Registry Editor Version 5.00 >Test.reg 
04.
echo.  >>Test.reg 
05.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd] >>Test.reg 
06.
echo @="Total Commander" >>Test.reg 
07.
echo.  >>Test.reg 
08.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdConnected] >>Test.reg 
09.
echo.  >>Test.reg 
10.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdConnected\.current] >>Test.reg 
11.
echo @="%COMMANDER_PATH:\=\\%\\SOUND\\Verbunden (FTP).wav" >>Test.reg 
12.
echo.  >>Test.reg 
13.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdCopyComplete] >>Test.reg 
14.
echo.  >>Test.reg 
15.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdCopyComplete\.current] >>Test.reg 
16.
echo @="" >>Test.reg 
17.
echo.  >>Test.reg 
18.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdDeleteComplete] >>Test.reg 
19.
echo.  >>Test.reg 
20.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdDeleteComplete\.current] >>Test.reg 
21.
echo @="%COMMANDER_PATH:\=\\%\\SOUND\\Löschen komplett.wav" >>Test.reg 
22.
echo.  >>Test.reg 
23.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdPackComplete] >>Test.reg 
24.
echo.  >>Test.reg 
25.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdPackComplete\.current] >>Test.reg 
26.
echo @="%COMMANDER_PATH:\=\\%\\SOUND\\Packen komplett.wav" >>Test.reg 
27.
echo.  >>Test.reg 
28.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdSearchComplete] >>Test.reg 
29.
echo.  >>Test.reg 
30.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdSearchComplete\.current] >>Test.reg 
31.
echo @="%COMMANDER_PATH:\=\\%\\SOUND\\Suche komplett.wav" >>Test.reg 
32.
echo.  >>Test.reg 
33.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdTransferComplete] >>Test.reg 
34.
echo.  >>Test.reg 
35.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdTransferComplete\.current] >>Test.reg 
36.
echo @="%COMMANDER_PATH:\=\\%\\SOUND\\Übertragung komplett.wav" >>Test.reg 
37.
echo.  >>Test.reg 
38.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdUnpackComplete] >>Test.reg 
39.
echo.  >>Test.reg 
40.
echo [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Wincmd\WincmdUnpackComplete\.current] >>Test.reg 
41.
echo @="%COMMANDER_PATH:\=\\%\\SOUND\\Entpacken komplett.wav" >>Test.reg 
42.
echo.  >>Test.reg 
43.
 
44.
reg import Test.reg 
45.
del Test.reg
Bitte warten ..
Mitglied: onegasee59
21.05.2007 um 13:14 Uhr
Hallo,
"Stringaustausch" automatisch geht sicher auch in der Batch (über findstr) aber
1.
hat SteinBeiser ja schon eine Lösung geschrieben
2.
bin ich da ehrlich gesagt überfragt wie man das Ganze dann in einer Batch über mehrere Zeilen hinweg umsetzen kann.

Aber die Profis hier finden da sicher auch eine Lösung.

[edit]
eben gefunden so ähnlich muss das gehen http://www.administrator.de/Batch_Textersetzen_mit_Dateiname.html
[/edit]

gruß
onegasee59
Bitte warten ..
Mitglied: 48046
21.05.2007 um 13:52 Uhr
@SteinBeiser

Genial, Dein Script funktioniert super, hurra

@All
Ich möchte mich nochmal bei allen bedanken die versucht haben mir zu helfen. Auch wenn es aus eurer Sicht evtl. teilweise nerven sollte wenn "Dummy" Fragen von Newbies auf diesem Gebiet zum x'ten Mal gefragt werden. Es ist nun mal einfach so, dass wenn man recht wenig Hintergrundwissen von Batch-Scripten hat, man halt fast das ganze Script vorgekaut bekommen muß.

Ich für meinen Teil hätte vieles sonst hier nicht realisieren können, das Board hier hat mir sehr geholfen!!!


Deswegen an all diejenigen von Euch, die dabei immer die Nerven behalten und den Leuten trotzdem hilfreich unter die Arme greifen (auch wenn das ein oder andere schon mal in abgewandelter Form behandelt wurde), meinen Respekt, wirklich.

Gruß ELMI
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch-bei set in der Mitte schreiben? (5)

Frage von Jonas1806 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...