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

Computername per Batch auslesen - Wert in Registry setzen

Frage Entwicklung Batch & Shell

Mitglied: Alforno

Alforno (Level 1) - Jetzt verbinden

09.01.2009, aktualisiert 11.01.2009, 14794 Aufrufe, 9 Kommentare

Hallo,

ich sitze hier vor einer etwas kniffligen Problemstellung.
Ich möchte gerne per batch, aus dem Computernamen des Clients einen Wert auslesen und diesen Wert anschließend in der registry eintragen.
Der Aufbau des Computernamens, ist allgemein immer dieser:

abc000

Die ersten drei Buchstaben sind immer gleich. Dahinter stehen drei Ziffern.
Jetzt würde ich gerne die letzten zwei Ziffern auslesen und als Wert in der registry eintragen.

Ist sowas machbar?
Ich habe leider nur sehr wenig Kenntnisse zu dem Thema.
Freue mich über Antworten.

Gruß
Alforno
Mitglied: Biber
09.01.2009 um 19:24 Uhr
Moin Alforno,

Den Teilstring "Computername ab Zeichen 3 in Länge 2" bekommst Du im Batch/am CMD-Prompt so.
%computername:~3,3%

Teste am CMD-Prompt
01.
echo %computername:~3,2%
-oder verwende im Batch -
01.
SET "DerTeilString=%computername:~3,2%" 
02.
echo Jetzt hab ich den Teilstring [%DerTeilString%] inner Variablen...
Eintragen in die Registry am besten mit Reg.exe (Reg /Add ........).
Grüße
Biber
Bitte warten ..
Mitglied: Alforno
09.01.2009 um 20:31 Uhr
Biber ich danke Dir für die schnelle Antwort.

Jetzt müsste ich den Wert der Variablen ja noch an einer bestimmten Position in meine reg Datei schreiben.
Nämlich genau hier:

[HKEY_LOCAL_MACHINE\SOFTWARE\AGFEO\TSP3\3.0\Lines] 
"Tln0"="DerTeilString"
Kann ich den Wert einfach in eine txt schreiben?
Vielleicht kannst du mir ja noch nen Tipp geben.

Danke.

Gruß
Alforno
Bitte warten ..
Mitglied: Biber
09.01.2009 um 22:39 Uhr
Moin Alforno,

Vielleicht kannst du mir ja noch nen Tipp geben.
Hatte ich doch oben schon - vielleicht etwas zu kleine Schriftart gewählt...

Wenn Du also diesen TeilString in einer Variable %DerTeilString% hast, dann kannst Du Reg.exe aufrufen. Ist stardardmäßig ab Win XP dabei.
Der Aufruf müsste dann ungefähr so aussehen
01.
....(ermittle %DerTeilString% wie oben) .. 
02.
REG ADD HKLM\SOFTWARE\AGFEO\TSP3\3.0\Lines /v Tln0 /d %DerTeilString% /f 
03.
...
Sicherheitshalber nochmal die Hilfe mit "Reg Add /?" am CMD-Prompt befragen.
(auf deutsch: ich hab es jetzt nicht getestet)

Grüße
Biber
Bitte warten ..
Mitglied: Alforno
10.01.2009 um 11:37 Uhr
Hallo Biber,

danke Dir für die Antwort. Mir war nicht klar, dass ich das direkt in einer bat Datei machen kann.
Ich war davon ausgegangen, dass ich den Wert der Variablen erst in eine .reg schreiben muss und diese dann eintragen.

So ist es ja noch komfortabler.

Ich muss aber leider nochmal nachhaken:
Ich habe mir die Hilfe zu reg.exe nochmal angesehen.

SET "msn=%computername:~4,2%" 
REG ADD HKLM\SOFTWARE\AGFEO\TSP3\3.0\Lines /v Tln0 /t REG_SZ /d %msn% /f
Ich habe die zwei Zeilen in eine .bat kopiert. Wenn ich diese am shell aufrufe, dann bekomme ich immer die Fehlermeldung:

Der Befehl #S ist entweder falsch geschrieben oder ...

Ich denke, das ich da etwas falsch mache. Nur was?
Idee?

Gruß
Alforno
Bitte warten ..
Mitglied: bastla
10.01.2009 um 17:38 Uhr
Hallo Alforno!

Die beiden von Dir geposteten Zeilen funktionieren bei mir problemlos ...

Damit Du den Ablauf des Batches besser verfolgen kannst, solltest Du ein ev vorhandenes "echo off" (zum Testen) auf "echo on" ändern - dann wird Dir jeder Befehl vor der Ausführung angezeigt.

Grüße
bastla
Bitte warten ..
Mitglied: Alforno
10.01.2009 um 18:27 Uhr
HalloBastla,
danke Dir für die Antwort.

Ich glaube wir kommen dem Problem näher.
Ich habe die Zeilen über notepad eingefügt.
Mir scheint es, als wäre das Format der Zeichen falsch. Gibt es hier einen Unterschied.
Hast du vielleicht einen Tipp in die Richtung?

Schönen Gruß
Alforno

Edit: ein vorangestelltes "echo on" ändert an der ausgabe leider nichts.
Edit2: Jetzt habe ich aus lauter Verzweiflung für die .bat Datei den Kompatibilitätsmodus aktiviert und auf Windows 95 gestellt.
Jetzt funktioniert alles einwandfrei. Woran kann das liegen?
Bitte warten ..
Mitglied: bastla
10.01.2009 um 19:36 Uhr
Hallo Alforno!

Mir scheint es, als wäre das Format der Zeichen falsch. Gibt es hier einen Unterschied.
ANSI vs ASCII - allerdings sollte sich dieser Unterschied nicht in der von Dir zitierten Fehlermeldung niederschlagen, sonden sich allenfalls bei Sonderzeichen (die etwa in einem Computernamen ohnehin nichts zu suchen hätten ) auswirken ...
ein vorangestelltes "echo on" ändert an der ausgabe leider nichts.
Das "echo on" sollte nur bedeuten: kein "echo off" - wenn Du letzteres schon vorher nicht hattest, macht's tatsächlich keinen Unterschied.
Jetzt funktioniert alles einwandfrei. Woran kann das liegen?
Das könnte ich bestenfalls beantworten, wenn ich mir den von Dir verwendeten Code (entsprechend formatiert) ansehen könnte ...

Grüße
bastla
Bitte warten ..
Mitglied: Alforno
11.01.2009 um 11:25 Uhr
Hallo bastla,

ich habe den Fehler gefunden.
Ich habe im Eifer des Gefechts die zwei Zeilen in eine .reg geschrieben und diese dann in eine .bat umbenannt.
Das sollte man lieber nicht tun.

Jetzt klappt alles prima.

Danke euch.

Gruß
Alforno
Bitte warten ..
Mitglied: mjchiphazard
19.06.2009 um 10:50 Uhr
Hallo Bastla,

könntest Du Dir vielleicht mal mein Posting angucken,bitte?

content=118423

Habe dort ähnliches Problem und Euren Code versucht in meinen einzubauen,
Aber aufgrund meiner totalen VB_Programmierunkenntnisse war ich schon stolz das Pagerfeld auslesen zu können,
bekomme aber die letzte Kurve nicht hin, diese "Variable" in die Registry einzutragen...

Würde mich sehr über Deine Hilfe freuen,

sG
Thomas
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ä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 BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...