Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Batch in HKCU...RunOnce läuft nicht

Frage Microsoft Windows 7

Mitglied: JohnDorian

JohnDorian (Level 1) - Jetzt verbinden

19.06.2013 um 16:38 Uhr, 4962 Aufrufe, 8 Kommentare

Hallo Kollegen,

ich möchte eine Batchdatei per HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce starten. Das anlegen des Schlüssels ist mir prima gelungen, nur läuft die Batchdatei nicht los. Ich habe zur Überprüfung eine Pause in die Batch eingebaut, dann müsste ich ja sehen wenn sie darauf stehen bleibt. Ich seh aber nüscht!

Wer weiß was?

Gruß, J.D.
Mitglied: AndreasHoster
19.06.2013 um 17:43 Uhr
Und was steht in dem Schlüssel drin? Muß Windows auch raten wie wir?
Und mich interessiert nicht, was da reinsoll, sondern was tatsächlich drin ist, also mit regedit einen Export von RunOnce machen und das dann posten.
Erste Vermutung:
Der Eintrag ist nicht korrekt.
Bitte warten ..
Mitglied: Pjordorf
19.06.2013 um 19:21 Uhr
Hallo,

Zitat von AndreasHoster:
Muß Windows auch raten wie wir?
Windows ist doch allwissend, oder etwa nicht?

Der Eintrag ist nicht korrekt.
Oder in der Batchdatei ist es nicht so wie es sich dort gehört. Wer weiß das hier schon...

Gruß,
Peter
Bitte warten ..
Mitglied: rubberman
19.06.2013, aktualisiert um 22:27 Uhr
Hallo JohnDorian,

angenommen dein Batch hat den Name "Mein Batch.bat" und liegt auf deinem Desktop, dann nimm den Registryeintrag mal mit folgendem Code vor:
01.
@echo off &setlocal 
02.
set "valname=Mein Batch im RunOnce" 
03.
set "batpath=%userprofile%\Desktop\Mein Batch.bat" 
04.
 
05.
setlocal EnableDelayedExpansion 
06.
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "!valname!" /t REG_SZ /d "\"!comspec!\" /c \"!batpath!\"" /f 
07.
endlocal
Grüße
rubberman
Bitte warten ..
Mitglied: JohnDorian
20.06.2013 um 07:36 Uhr
Hallo und Danke für alle Antworten,

ich hab das Problem inzwischen gelöst, ich rufe über RunOnce keine Batch mehr auf sondern cmd /c [vba-script, welches ausgeführt werden soll]


Danke,

J.D.
Bitte warten ..
Mitglied: rubberman
20.06.2013, aktualisiert um 18:45 Uhr
2 Tipps:

1.) cmd /c findet sich selten bis gar nicht in der Registry. Im Regelfall wird der gesamte Pfad zum ausführenden Programm angegeben. Weder weißt du was der User in seiner Path-Umgebung hat, noch möchtest du dass die gesamte Umgebung nach der cmd.exe durchsucht wird solange Windows noch hochgradig beschäftigt ist das Benutzerprofil fertig zu laden oder Services/Autorunprogramme auszuführen.

2.) Wenn du mit "vba-script" ein VBScript meinst, dann weiß ich nicht was die cmd.exe dort zu suchen hat. Funktioniert zwar, aber *.vbs Dateien werden in wscript.exe (ggf. cscript.exe falls das Consolefenster benötigt werden sollte) ausgeführt. Macht also eigentlich keinen Sinn den Umweg zu gehen und die Console aufblitzen zu lassen.

Grüße
rubberman
Bitte warten ..
Mitglied: Biber
20.06.2013 um 19:42 Uhr
Moin rubberman,

zu dem Punkt "1.) cmd /c findet sich selten bis gar nicht in der Registry. "

Ja. Aber wozu sollte jemand auch nach "cmd /c" suchen?
Der CMD-Interpreter steht ja nun in der Variablen %COMSPEC%.

Wenn die nicht wie im obigen Beispiel vorauseilend aufgelöst werden würde nach dem Motto "Da, wo der Batch läuft, gilt sicherlich dieselbe Windowsverzeichnisstruktur wie auf meinem Hobel" --> dann doch lieber %comspec% nicht auflösen.

Dat geiht auch, allerdings muss dafür der Datentyp des Registryeintrags (korrekt) als REG_EXPAND_SZ statt REG_SZ angegeben werden und die Variable %comspec% mit Carets übergeben werden.

reg add .... /t REG_EXPAND_SZ /d "\"^%comspec^%..........\""

Grüße
Biber
Bitte warten ..
Mitglied: rubberman
20.06.2013, aktualisiert um 20:29 Uhr
Hallo Biber.

Ja. Aber wozu sollte jemand auch nach "cmd /c" suchen?
Der CMD-Interpreter steht ja nun in der Variablen %COMSPEC%.
Ja klar, so aber nicht bei JohnDorian (auch wenn ich's anders vorgeturnt habe).

Trotzdem hast du mich erwischt
Die Variable nicht aufzulösen macht allerdings mehr Sinn. Für wscript dann entsprechend
%SystemRoot%\system32\wscript.exe
Für das Erstellen aus der Kommandozeile oder Batch entsprechend ^% bzw. %% maskiert, versteht sich.

Grüße
rubberman
Bitte warten ..
Mitglied: JohnDorian
26.06.2013 um 08:37 Uhr
Hallo Biber und rubberman,

Danke für die Tips!

Ciao,

JD
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch - Warten bis bestimmter Task läuft (5)

Frage von Winfried-HH zum Thema Batch & Shell ...

Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Vmware
gelöst VM läuft laut esxi Host nicht - ist aber an (4)

Frage von Ex0r2k16 zum Thema Vmware ...

Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Heise Newsticker: Microsoft veröffentlicht das "Fall Creators Update

(8)

Information von Penny.Cilin zum Thema Windows 10 ...

LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...

Hosting & Housing
Mailserver Software Empfehlungen (12)

Frage von sunics zum Thema Hosting & Housing ...