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

Suche nach Nero-Installation schlägt fehl

Frage Entwicklung Batch & Shell

Mitglied: onegasee59

onegasee59 (Level 2) - Jetzt verbinden

04.02.2007, aktualisiert 17.10.2012, 8346 Aufrufe, 33 Kommentare

Hallo an Alle,

ich beziehe mich auf meinen alten Thread:
http://www.administrator.de/frage/installationspfad-einer-anwendung-suc ...

Es ging darum für eine Tool von mir ( "NeroClean_Master" ) die Nero-Installation (Nur Version 6 oder 7) auch auf einem unbekannten System sicher zu finden und über Fehlerroutine das Programm zu stoppen, wenn nero.exe von Nero 6/7 nicht gefunden wird.

Zwischenzeitlich dachte ich das Problem sei gelöst, aber jetzt komme ich einfach nicht weiter. Leider ist es so das bei einigen Systemen, welche definitiv Nero installiert haben, die nero.exe nicht gefunden wird.

Ausgangsdaten bei System mit Nero 6:
In der Registry stehen unter:
01.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths 
02.
ero.exe] 
03.
@="C:\Programme\Ahead\nero\nero.exe" 
04.
"Path"="C:\Programme\Ahead\Nero"      (den Pfad will ich finden)
Ausgangsdaten bei System mit Nero 7:
In der Registry stehen unter:
01.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths 
02.
ero.exe] 
03.
@=""C:\Nero\Nero 7\Core\nero.exe" 
04.
"Path"=""C:\Nero\Nero 7\Core\"               (den Pfad will ich finden)
Der echte Pfad kann abweichen. Wenn der User nicht per Standard Installiert hat kann das LW und damit der Pfad ein anderer sein. Damit das Tool NeroClean_Master korrekt arbeite benötige ich diesen echten Installationspfad.

bisherige Lösungen:
mit dieser werden immer nur Nero 6-Installationen gefunden, an Nero 7 scheitert es:
01.
for /f "tokens=2 delims==%% " %%i in ('ftype^|find /i "nero.exe"') do set "proglw=%%~di" & set "progpfad=%%~pi" 
02.
set nerofile=%proglw%%progpfad%nero.exe 
03.
echo %nerofile% 
04.
if not exist %nerofile% set echo_abbruch="Es wurde keine Installation von Nero 6 (oder h"her) gefunden!" && goto abbruch
Um eine echte Installation zu finden (nicht eventuelle Leichen oder abgebrochene Installationen) wäre mir die Suchvariante über die Registry aber viel lieber. Leider scheitert es damit _immer_ an Nero 7 und teilweise sogar an Nero 6:
01.
set regkey="HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Paths 
02.
ero.exe" 
03.
for /f "tokens=4 delims= " %%i in ('reg query %regkey% /s^|find "NO NAME" ') do set "proglw=%%~di" & set "progpfad=%%~pi" 
04.
set nerofile=%proglw%%progpfad%nero.exe 
05.
echo %nerofile% 
06.
if not exist %nerofile% set echo_abbruch="Es wurde keine Installation von Nero 6 (oder h"her) gefunden!" && goto abbruch
irgendwie schein mir das Leerzeichen bei "..Nero 7.." da reinzuspucken., aber komme nicht drauf wie ich das hinbekomme.

Habt Ihr eine Idee wo mein Fehler liegt?

Gruß
onegasee59
33 Antworten
Mitglied: miniversum
04.02.2007 um 16:15 Uhr
Wenns am Leerzeichen liegt kannst du einfach die Variable in " setzen.

Warum suchst du nicht mit dir /s nero.exe danach?

miniversum
Bitte warten ..
Mitglied: onegasee59
04.02.2007 um 17:24 Uhr
Hallo

Wenns am Leerzeichen liegt kannst du einfach die Variable in " setzen.
Wäre zu schön wenn das wäre.
Nein nutzt nichts. Es geht nicht um die Variable %nerofile% selbst. Sondern um das Ergebnis der for-Anweisung 1*. Das liefert oftmals nur ein leeres oder unvollständiges Ergebnis in "progpfad".

Bsp.:
Ich hatte heute einen User mit Nero 7 bei dem lautet der echte Pfad
"D:\Nero\Nero 7\Core\nero.exe". Mein Tool ermittelt aber "D:\Nero\nero.exe"

Der Fehler MUSS in der for-Anweisung liegen , aber wo?
Der letzte Test bei User-Nero 7 Installation ergab mit der folgenden geänderten for-Anweisung 1* dieses Ergebnis 2*

Achtung!
bei delims wird hier der Abstand von = zu " nicht so dargestellt wie er Orginal ist.
Sieht in Wirklichkeit so aus "for /f "tokens=4 delims=<TAB><SPACE>" %%i in..."

1*
set regkey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe"
for /f "tokens=4 delims= " %%i in ('reg query %regkey% /s^|find "NO NAME" ') do set "proglw=%%~di"
for /f "tokens=4 delims= " %%i in ('reg query %regkey% /s^|find "NO NAME" ') do set "progpfad=%%~pi"

2*
BEGINN - Login-Daten 04.02.2007 18:46:21,71
...
Inhalt von proglw= D:
Inhalt von progpfad= \Nero\
D:\Nero\
D:\Nero\nero.exe
"Es wurde keine Installation von Nero 6 (oder h”her) gefunden!"
ENDE - Login-Daten 04.02.2007 18:46:30,43

Wie gesagt der Originalpfad des Users lautet "D:\Nero\Nero 7\Core\nero.exe"

En Test mit 1* auf einem System mit Nero 6 ergab dieses Log-File. Und hier haut alles hin.

BEGINN - Login-Daten 04.02.2007 19:55:21,48
....
Inhalt von proglw= C:
Inhalt von progpfad= \Programme\Ahead\Nero\
C:\Programme\Ahead\Nero\
C:\Programme\Ahead\Nero\nero.exe
"C:\DOKUME~1\<username>\LOKALE~1\Temp\progversion.VBS" erstellt
6.6.1.4
"Unterstützte Nero-Version: 6.6.1.4 gefunden"
ENDE - Login-Daten 04.02.2007 19:55:34,03

Warum suchst du nicht mit dir /s nero.exe danach?
damit finde ich ja nicht eine echte Installation oder liege ich da falsch?
Ich will/muss eine echte Installation von Nero 6/7 finden. Nicht etwa nur eine "nero.exe" die (aus welchem Grund auch immer) irgendwo quasi herrenlos rumliegt, ohne das sich damit eine echte Installation von Nero verbindet.
Bitte warten ..
Mitglied: Biber
05.02.2007 um 19:24 Uhr
Moin onegasee59,

mit folgender FOR-Konstruktion müsste es gehen (Demo am CMD-Prompt):

01.
>set nerokey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe" 
02.
 
03.
(=19:15:38  D:\temp=) 
04.
>for /f "tokens=4*" %i in ('reg query %nerokey% /ve ^|find "nero.exe"') do @echo %i %j 
05.
C:\Programme\Ahead\nero\Nero 7\nero.exe 
06.
-oder- 
07.
(=19:20:32  D:\temp=) 
08.
>for /f "tokens=4*" %i in ('reg query %nerokey% /ve ^|find "nero.exe"') do @for %x in ("%i %j") do @ 
09.
echo %~dpx 
10.
C:\Programme\Ahead\Nero\Nero 7\
-bzw im Batch-
01.
.... 
02.
set nerokey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe" 
03.
for /f "tokens=4*" %%i in ('reg query %nerokey% /ve ^|find "nero.exe"') do @( 
04.
        for %%x in ("%%i %%j") do @set "NeroInstpath=%%~dpx" 
05.
06.
Echo Nero ist installiert in [%NeroInstPath%] 
07.
...
Ungetestete und ganz verspätete Skizze.

[Edit]
Hier noch eine getestete und etwas schlankere Variante:
01.
>for /f "skip=4 tokens=2*" %i in ('reg query %nerokey% /v Path') do @echo %j 
02.
C:\Programme\Ahead\Nero\Nero 7
-bzw- im Batch:
01.
... 
02.
for /f "skip=4 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "neropath=%%j"
[/Edit]

HTH
Biber
Bitte warten ..
Mitglied: onegasee59
05.02.2007 um 20:03 Uhr
Moin Moin Biber,

set nerokey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe"
for /f "tokens=4*" %%i in ('reg query %nerokey% /ve ^|find "nero.exe"') do @(for %%x in ("%%i %%j") do @set "NeroInstpath=%%~dpx")
Echo Nero ist installiert in
[%NeroInstPath%]
...

da ich die Splittung benötige in LW und Pfad hab ich mal geändert.

for /f "tokens=4*" %%i in ('reg query %regkey% /ve ^|find "nero.exe"') do @(for %%x in ("%%i %%j") do @set "proglw=%%~di")
for /f "tokens=4*" %%i in ('reg query %regkey% /ve ^|find "nero.exe"') do @(for %%x in ("%%i %%j") do @set "progpfad=%%~pi")

Testergebnis bei System mit Nero 6 sieht schonmal sehr gut aus

BEGINN - Login-Daten 05.02.2007 19:58:20,32
...
Inhalt von proglw= C:
Inhalt von progpfad= \Programme\Ahead\Nero\
C:\Programme\Ahead\Nero\
C:\Programme\Ahead\Nero\nero.exe
"C:\DOKUME~1\<username>\\LOKALE~1\Temp\progversion.VBS" erstellt
6.6.1.4
"Unterstützte Nero-Version: 6.6.1.4 gefunden"
ENDE - Login-Daten 05.02.2007 19:58:34,85

Ich warte noch auf das Logfile von obigem Nero 7 Benutzer und melde mich wieder.

-Fortsetzung- 1

Testergebnis bei System mit Nero 7 - Leider auch damit Nero 7 Erkennung negativ!

BEGINN - Login-Daten 05.02.2007 20:15:31,60
Microsoft Windows [Version 6.0.6000]
"Unterstütztes Betriebssystem gefunden"
Inhalt von proglw=
Inhalt von progpfad=
ECHO ist ausgeschaltet (OFF).
nero.exe
"Es wurde keine Installation von Nero 6 (oder h”her) gefunden!"
ENDE - Login-Daten 05.02.2007 20:15:38,36

-Fortsetzung- 2

Es ist zum verzweifeln Nero 7 wird nicht erkannt, obwohl definitiv vorhanden.
Auch die kürzeren Varianten habe ich alle testen lassen.

Nero 6 - Erkennung - Ja
Nero 7 - Erkennung - Nein

Hast Du noch eine Idee.
Wäre es besser das Ganze über VBS zu machen?

gruß und Danke für Deine Unterstützung.
onegasee59


herzlichen Gruß
onegasee59
Bitte warten ..
Mitglied: Biber
05.02.2007 um 21:17 Uhr
Moin onegassee,

das ist mir ja langsam peinlich...

Wenn Dein Nero7-Anwender noch ein letztes Mal Geduld hat (ich könnte ihn und Dich ja dafür zur Meisterschaftsfeier nach Bremen einladen....is' ja bald wieder...),
dann jag doch noch mal die kurze Variante durch bitte:

for /f "skip=4 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "neropath=%%j"
-bzw wenn Du Drive und Path trennen willst:-
for /f "skip=4 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "neropath=%%~pj" & set nerodrive=%%~dj

Denn soweit ich in meiner näheren Umgebung gesehen habe, steht an der angegebenen Stelle in der Registry auch immer das Value "Path". Dann ist das alberne Geeiere mit "Find" nicht nötig.

Und... ich verstehe es wirklich nicht. Hat der o.a. Anwender auch dieselbe Reg.exe-Version wie Du? *grübel*

Grüsse
Biber
[Edit]....mein Posting hat sich überschnitten mit Deinem "Fortsetzung 2". Schade.

Hast Du noch eine Idee.
*grmpf*...vorbeifahren bei diesem Nero 7-Hansel und downgraten auf Nero 6...
Nein, besser mal einen hier im Forum finden, der Nero 7 legal installiert hat.
Und dann die Reg-Values sezieren....

Wäre es besser das Ganze über VBS zu machen?
Dann müsste ich bastla wecken... wäre auch machbar

Andererseits... das Problem muss viel banaler - ich doktore bestimmt an der falschen Stelle.
Hier läuft irgendetwas banaleres verkehrt, aber ich sehe es grad nicht.

[/Edit]
Bitte warten ..
Mitglied: onegasee59
05.02.2007 um 22:12 Uhr
es soll bestimmt so heißen oder? ----> for....~pj" & set "nerodrive=%%~dj"

abgesehene davon alle Tester haben WIN 2000, XP und VISTA. Also bis auf WIN 2000 (dort liefer ich meine reg.exe mit) ist die reg.exe überall vorhanden. Sollte die Reg.exe-Version wirklich so eine Rolle spielen? Mein XP-reg.exe hat die Version 5.1.2600.2180. Die VISTA-Leute haben 6.0.6000.16386

Wie Du schon festgestellt hast Nero 6 und Nero 7 finden sich in der Registry immer in
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe" in der Zeichenfolge-Typ REG_SZ und dort in "Path" und "Standard".

also ich habe jetzt das Ergbinis für Nero 7
registry bein einem der Nero 7 Nutzer zeigt an:
unter Standard ----> "D:\Nero\Nero 7\Core\Nero.exe"
unter Path: -----> "D:\Nero\Nero 7\Core\"

bei einem Anderen Nutzer
unter Standard ----> "C:\Programme\Nero\Nero 7\Core\Nero.exe"
unter Path: -----> "C:\Programme\Nero\Nero 7\Core\"

log-Datei ergibt mit
for /f "skip=4 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "neropath=%%~pj" & set "nerodrive=%%~dj"

BEGINN - Login-Daten 05.02.2007 22:05:28,78
Microsoft Windows [Version 6.0.6000] ----> also VISTA
"Unterstütztes Betriebssystem gefunden"
Inhalt von nerodrive=
Inhalt von neropath=
nero.exe
"Es wurde keine Installation von Nero 6 (oder h”her) gefunden!"
ENDE - Login-Daten 05.02.2007 22:05:33,67

[Edit]
Haaaaaaaaaaaaaaaaaaaaaalt STOP - Ich glaub Du hast es Biber.
Ich hab in der Testversion einen Fehler gemacht.
~pj" & "set nerodrive=%%~dj" statt ".....~pj" & set "nerodrive=%%~dj"

ich lass gerade nochmal testen und dann melde ich mich nochmal.

Leider doch zu früh gefreut, die Variablen bleiben einfach leer.
[/Edit]

gruß
onegasee59
Bitte warten ..
Mitglied: Biber
06.02.2007 um 08:40 Uhr
....aarrghh...


Ändere mal bitte in Deiner Prüfung:
if not exist %nerofile% set echo_abbruch...
--- in ----
if not exist "%nerofile%" set echo_abbruch....

*fluch&schimpf&TomatenAusDenAugenKratz*

Gruss
Biber
Bitte warten ..
Mitglied: onegasee59
06.02.2007 um 16:15 Uhr
if not exist "%nerofile%" set echo_abbruch....

wird nicht viel bewirken Biber, denn wenn Inhalt von %nerodrive% und %neropath% leer ist oder nur verkürzt gefunden wird, ergbit %nerofile% keinen Pfad den das Tool finden könnte und bricht ab.

%nerofile% = %nerodrive%%neropath%nero.exe
Bitte warten ..
Mitglied: Biber
06.02.2007 um 17:27 Uhr
Schade, schade....

Dann kann es eigentlich ja nur sein, dass
- diese Benutzer nicht im HKLM-Zweig rumlesen dürfen ( Rechteproblem? Was bringt denn reg.exe bei denen am CMD-Prompt?)
- oder dass bei der Reg.exe - Rückgabe weniger Zeilen kommen als bei mir und der "skip 4" das Problem ist
.... Sonst....ich weiss es nicht.
Vielleicht haben wir ja ein paar Reg.exe und Nero.Besitzer, die mal diese Zeile
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe"

...per Copy & Paste abschicken und das Ergebnis hier posten. Wäre nett.
Ich kann den Fehler nicht reproduzieren bzw. lokalisieren.

Nimm ersatzweise diesen Notnagel hier:
01.
for /f "tokens=2 delims== " %%i in ('ftype^|find/i "nero.exe"') do set "neroDrive=%%~dpi" & set neroPath=%%~pi
Gruss
Biber
Bitte warten ..
Mitglied: onegasee59
06.02.2007 um 17:41 Uhr
Vielleicht haben wir ja ein paar Reg.exe und Nero.Besitzer, die mal diese Zeile
> reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe"

...per Copy & Paste abschicken und das
Ergebnis hier posten. Wäre nett. Ich kann den Fehler nicht reproduzieren bzw. lokalisieren.

so ich hab mal eine "testregexe.cmd" auf meine Webseite gestellt. Sie liefert eine Logdatei mit Angabe des Betriebssystems und der Reg-Ausgabe. Mehr nicht - es muss keiner Angst haben - es werden keinerlei persönliche Daten ermittelt und es wird nichts am System geändert.

Ich benötige Test mit den Betriebssystem WIN 2000, WIN XP und WIN Vista auf denen Nero 6 oder Nero 7 installiert ist.

Bitte die die Logdatei "regexe_log.txt" an mich mailen mit Angabe Eurer Nero-Version.

Die Testdatei ist gezipt, einfach irgendwohin entpacken und starten, dort findet ihr dann auch die *log.txt.

http://www.der-wmp.de/download/testregexe.zip

[Edit 1] Ergebnis auf meinem eigenen System mit Nero 6
Microsoft Windows XP [Version 5.1.2600]
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe
<NO NAME> REG_SZ C:\Programme\Ahead\Nero\nero.exe
Path REG_SZ C:\Programme\Ahead\Nero\

[/Edit 1]

[Edit 2] Ergebnis von User Ralf mit Nero 7
Microsoft Windows XP [Version 5.1.2600]
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe
<NO NAME> REG_SZ D:\Nero\Nero 7\Core\Nero.exe
Path REG_SZ D:\Nero\Nero 7\Core\

[/Edit 2]

[Edit 3] Ergebnis von User Christine mit WIN Vista und Nero 6
Microsoft Windows [Version 6.0.6000]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe
(Standard) REG_SZ C:\Program Files\Ahead\nero\nero.exe
Path REG_SZ C:\Program Files\Ahead\Nero

Hier fehlt die Angabe der reg.exe-version im log-file tatsächlich. Kein Kopierfehler von mir!
Ist aber eh egal, denn obwohl sich Nero 6 auf WIN Vista installiiren lässt, sagt Nero selbst das erst Nero 7 Vista-fähig ist.
http://www.nero.com/nero6/deu/Nero_6_Reloaded_System_Requirements.html
Beim Startversuch von Nero 6 unter WIN Vista kommt dann auch von diesem Vista Sniping-Tool eine entsprechenden Fehlermeldung.
[/Edit 3]


[Edit 4] Ergebnis von User mit WIN Vista und Nero 7
Microsoft Windows [Version 6.0.6000]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe
(Standard) REG_SZ C:\Program Files\Nero\Nero 7\Core\Nero.exe
Path REG_SZ C:\Program Files\Nero\Nero 7\Core\

Auch hier fehlt die Angabe der reg.exe-version im log-file tatsächlich. Kein Kopierfehler von mir! Aber Nero 7 funktioniert zumindest unter WIN Vista.
[/Edit 4]

Danke und Gruß
onegasee59
Bitte warten ..
Mitglied: miniversum
06.02.2007 um 17:45 Uhr
Bei mir leifert das sowas:

Beginn der Ausgabe ab hier ------

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe
<NO NAME> REG_SZ E:\Programme\Nero\Nero 6\nero\nero.exe
Path REG_SZ E:\Programme\Nero\Nero 6\Nero
Ende der Ausgabe hier ------

miniversum
[Edit Biber]
Thx, miniversum...
Aus dem Reg-Auszug macht meine Zeile von oben:
01.
>type d:\temp\mvsreg.txt 
02.
 
03.
! REG.EXE VERSION 3.0 
04.
 
05.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe 
06.
    <NO NAME>   REG_SZ  E:\Programme\Nero\Nero 6\nero\nero.exe 
07.
    Path        REG_SZ  E:\Programme\Nero\Nero 6\Nero 
08.
 
09.
(=19:23:49  D:\temp=) 
10.
>for /f "skip=5 tokens=2*" %i in (D:\temp\mvsreg.txt) do echo set "neropath=%~pj" & echo set "nerodrive=%~dj" 
11.
(=19:24:06  D:\temp=) 
12.
>echo set "neropath=\Programme\Nero\Nero 6\"   & echo set "nerodrive=E:" 
13.
set "neropath=\Programme\Nero\Nero 6\" 
14.
set "nerodrive=E:"
...as should do...
[/Edit]
Bitte warten ..
Mitglied: bastla
06.02.2007 um 22:50 Uhr
@Biber

Dann müsste ich bastla wecken... wäre auch machbar
Machbar wär's gewesen , aber dann wäre ich in Konflikt mit einem meiner Neujahrsvorsätze gekommen: "Poste nicht mit einer Körpertemperatur von über 38,5 Grad im Schatten!"

Aber falls ich heute noch mitspielen darf:
01.
echo WScript.Echo WScript.CreateObject("WScript.Shell").RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe\Path")>"%temp%\NeroPath.vbs" 
02.
for /f "delims=" %%i in ('cscript //nologo "%temp%\NeroPath.vbs"') do set "NeroPath=%%i" & set "NeroDrive=%%~di" 
03.
del "%temp%\NeroPath.vbs"
... und falls der Exe-Pfad gewünscht wird, am Ende des Schlüssels "Path" weglassen, aber nicht den "\".

Grüße
bastla

[Edit] Gibt's jetzt auch mit "delims=" ... [/Edit]
Bitte warten ..
Mitglied: onegasee59
06.02.2007 um 23:02 Uhr
Hallo bastla,

DU darfst immer mitspielen

Prima genau richtig, denn ich brauche definitiv die Aufplittung in LW _und_ Pfad, weil ich das LW alleine im weiteren Verlauf des "scharfen" Tools benötige. Ich werde das jetzt parallel zu letzten for-Anweisung von Biber testen. Ich melde mich dann wieder - Versprochen.

Jedenfalls vielen Dank an Euch Alle für Eure viele Mühe und vor allem Eure Geduld mit mir.

gruß
onegasee59
Bitte warten ..
Mitglied: bastla
06.02.2007 um 23:39 Uhr
@onegasee59

DU darfst immer mitspielen
Danke für die Einladung ...

Beim Testen bitte die Fassung mit "delims=" (s. o.) verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: onegasee59
07.02.2007 um 00:24 Uhr
@bastla

Beim Testen bitte die Fassung mit"delims=" (s. o.) verwenden.

Bisherige Test mit deiner VBS-sequenz sehen vielversprechend aus.

[Edit]
leider doch nicht

Microsoft Windows [Version 6.0.6000] WIN Vista mit Nero 6
Nero-Install-Pfad=C:\Program Files\Ahead\Nero
Nero-Install-LW=C:
C:\Program Files\Ahead\Nero\nero.exe
"C:\Users\<username>\\AppData\Local\Temp\progversion.VBS" erstellt

und

Microsoft Windows XP [Version 5.1.2600] Win XP mit Nero 7
Nero-Install-Pfad=D:\Nero\Nero 7\Core\
Nero-Install-LW=D:
D:\Nero\Nero 7\Core\\nero.exe
"c:\temp\progversion.VBS" erstellt
[/Edit]

wie du siehst erzeugt Dein VBS am Ende von %neropath% mal eine \ und mal wieder nicht.

Es ist zum Verzweifeln

gruß
onegasee59
Bitte warten ..
Mitglied: bastla
07.02.2007 um 04:42 Uhr
@ onegasee59

Es ist zum Verzweifeln
abgelehnt
01.
set "NPTemp=%temp%\NeroPath.vbs" 
02.
echo strNeroPath = WScript.CreateObject("WScript.Shell").RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe\Path")>"%NPTemp%" 
03.
echo If Right(strNeroPath,1) ^<^> "\" Then strNeroPath = strNeroPath ^& "\">>"%NPTemp%" 
04.
echo If Not Mid(strNeroPath, 2, 1) = ":" Then WScript.Quit(1)>>"%NPTemp%" 
05.
echo WScript.Echo strNeroPath>>"%NPTemp%" 
06.
for /f "tokens=1* delims=:" %%i in ('cscript //nologo "%NPTemp%"') do set "NeroDrive=%%i:" & set "NeroPath=%%j" 
07.
del "%NPTemp%"
Falls der Pfad keinen ":" an der zweiten Stelle hat, wird das Script ohne Ausgabe, aber mit ERRORLEVEL 1 beendet, ansonsten wird ein gültiger Pfad angenommen und sicher gestellt, dass dieser mit "\" endet. Die von Dir gewünschte Schreibweise
01.
"%NeroDrive%%NeroPath%nero.exe"
müsste damit möglich sein. Das Abfragen des Errorlevels habe ich nicht berücksichtigt, da Du ja ohnehin den oben beschriebenen vollen Exe-Pfad überprüfst und dieser im Fehlerfall nur "nero.exe" ergibt, sodass die Programmdatei nicht gefunden wird.

Grüße
bastla
Bitte warten ..
Mitglied: onegasee59
07.02.2007 um 11:03 Uhr
@bastla

scheint wirklich hinzuhauen

Microsoft Windows [Version 6.0.6000]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\Program Files\Ahead\Nero\
Nero-Install-LW=C:
"C:\Program Files\Ahead\Nero\nero.exe"
"C:\Users\<username>\AppData\Local\Temp\progversion.VBS" erstellt
ECHO ist ausgeschaltet (OFF).
---> ab hier bricht die Versionsprüfung (siehe unten) auf mindestens Nero 6 ab.

Wo steck hier der Fehler das die Version nicht erkannt wird?

01.
set nerofile="%NeroDrive%%NeroPath%nero.exe" 
02.
rem Prüfen der Version von nero.exe und Abbruch, wenn nicht Nero 6 (oder höher) vorhanden ist 
03.
set "progver=%temp%\progversion.VBS" 
04.
echo Set oFSO = CreateObject("Scripting.FileSystemObject") > %progver% 
05.
echo WScript.Echo oFSO.GetFileVersion(WScript.Arguments.Item(0)) >> %progver% 
06.
echo "%progver%" erstellt >> "%startpfad%NeroClean_Master_log.txt" 
07.
for /f "tokens=*" %%a in ('cscript //nologo "%progver%" %nerofile%') do set nerofilever=%%a 
08.
del "%progver%" > nul
[Edit 1]
STOP
Ich hab den Fehler wohl gefunden, es war die falsche Testversion.
Bei dieser fehlten die "-Zeichen an diesen Stellen.
01.
set progver=%temp%\progversion.VBS 
02.
...und 
03.
for /f "tokens=*" %%a in ('cscript //nologo %progver% %nerofile%') do set nerofilever=%%a
[/Edit 1]

Ich warte jetzt noch auf die Ergebnisse meiner Tester und melde mich dann wieder.

gruß
onegasee59
Bitte warten ..
Mitglied: onegasee59
07.02.2007 um 11:03 Uhr
und hier die Ergebnisse:

1. Log-Datei: System WIN Vista mit Nero 6 [Edit 07.02.07 ca. 12:00]
BEGINN - Login-Daten 07.02.2007 11:12:44,87
Microsoft Windows [Version 6.0.6000]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\Program Files\Ahead\Nero\
Nero-Install-LW=C:
"C:\Program Files\Ahead\Nero\nero.exe"
"C:\Users\<username>\AppData\Local\Temp\progversion.VBS" erstellt
6.6.1.4
"Falsche Nero-Version gefunden, WIN Vista erfordert Nero 7 (oder höher)"
ENDE - Login-Daten 07.02.2007 11:13:01,23


2. Log-Datei: System WIN Vista mit Nero 7 [Edit 08.02.07 ca. 01:07]
BEGINN - Login-Daten 08.02.2007 0:54:28,70
Microsoft Windows [Version 6.0.6000]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\Program Files\Nero\Nero 7\Core\
Nero-Install-LW=C:
"C:\Program Files\Nero\Nero 7\Core\nero.exe"
"C:\Users\ADMINI~1\AppData\Local\Temp\progversion.VBS" erstellt
7.5.9.1
nerovision=7
"Unterstützte Nero-Version: 7.5.9.1 gefunden"
ENDE - Login-Daten 08.02.2007 0:54:33,58


3. 1. Log-Datei: System WIN XP mit Nero 6 [Edit 07.02.07 ca. 20:22]
BEGINN - Login-Daten 07.02.2007 20:15:55,45
Microsoft Windows XP [Version 5.1.2600]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\Programme\Ahead\Nero\
Nero-Install-LW=C:
"C:\Programme\Ahead\Nero\nero.exe"
"C:\DOKUME~1\<username>\LOKALE~1\Temp\progversion.VBS" erstellt
6.6.0.16
nerovision=6
"Unterstützte Nero-Version: 6.6.0.16 gefunden"
ENDE - Login-Daten 07.02.2007 20:16:01,87

3. 2. Log-Datei: System WIN XP mit Nero 6 [Edit 07.02.07 ca. 23:50]
(Installations-Bsp. von Nero 6 auf WIN XP abweichend vom Standardinstallationspfad den Nero selbst vorgibt)
BEGINN - Login-Daten 07.02.2007 22:47:41,48
Microsoft Windows XP [Version 5.1.2600]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\xxx\Nero\
Nero-Install-LW=D:
"D:\xxx\Nero\nero.exe"
"C:\DOKUME~1\<username>\LOKALE~1\Temp\progversion.VBS" erstellt
6.6.0.16
nerovision=6
"Unterstützte Nero-Version: 6.6.0.16 gefunden"
ENDE - Login-Daten 07.02.2007 22:48:03,59


4. Log-Datei: System WIN XP mit Nero 7 [Edit 07.02.07 ca. 23:40]
BEGINN - Login-Daten 07.02.2007 23:18:08,35
Microsoft Windows XP [Version 5.1.2600]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\Nero\Nero 7\Core\
Nero-Install-LW=D:
"D:\Nero\Nero 7\Core\nero.exe"
"c:\temp\progversion.VBS" erstellt
7.2.3.2
nerovision=7
"Unterstützte Nero-Version: 7.2.3.2 gefunden"
ENDE - Login-Daten 07.02.2007 23:18:18,18


5. Log-Datei: System WIN 2000 mit Nero 6 [Edit 08.02.07 ca. 19:08]
BEGINN - Login-Daten Do 08.02.2007 17:39:08,42
Microsoft Windows 2000 [Version 5.00.2195]
"Unterstütztes Betriebssystem gefunden"
Nero-Install-Pfad=\Programme\Ahead\Nero\
Nero-Install-LW=C:
"C:\Programme\Ahead\Nero\nero.exe"
"C:\DOKUME~1\Stefan\LOKALE~1\Temp\progversion.VBS" erstellt
6.6.1.4
nerovision=6
"Unterstützte Nero-Version: 6.6.1.4 gefunden"
ENDE - Login-Daten Do 08.02.2007 17:40:40,18


6. Log-Datei: System WIN 2000 mit Nero 7


gruß
onegasee59
Bitte warten ..
Mitglied: Biber
07.02.2007 um 17:54 Uhr
Moin onegasee59,

na Gatesseidank haben wir jetzt wenigstens EINE funktionierende Lösung.

Und mit den Vista-Reg.exe-Bildschirmausgaben (die, bei denen die Reg.exe-Versions-Anzeige fehlt) können wir auch umgehen.
Da wir davon jetzt ja wissen.
Das Problem dabei war dann also in der Tat, wie oben vermutet, dass ich mit meinem "skip=3"..."skip=4" oder (was bei WinXP passt) "skip=5" über die Gesamt-Zeilenzahl drüberhüpfe.
Ich hab es eben noch mal an CMD-Prompt getestet:
[die oben von Dir gepostete nerovista.txt... aus :
[Edit 4] Ergebnis von User mit WIN Vista und Nero 7
Microsoft Windows [Version 6.0.6000]....]
01.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe 
02.
(Standard) REG_SZ C:\Program Files\Nero\Nero 7\Core\Nero.exe 
03.
Path REG_SZ C:\Program Files\Nero\Nero 7\Core
01.
>for /f "<b>skip=2</b> tokens=2*" %i in (D:\temp\nerovista.txt) do echo set "neropath=%~pj" & echo set "nerodrive=%~dj" 
02.
 
03.
(=17:47:08  D:\temp=) 
04.
>echo set "neropath=\Program Files\Nero\Nero 7\"   & echo set "nerodrive=C:" 
05.
set "neropath=\Program Files\Nero\Nero 7\" 
06.
set "nerodrive=C:"
...mit "skip=2" würde auch die Native-Batch-Variante (bei allen WIn-Versionen) wieder fliegen.

Ein schönes Gefühl, wenn sich so ein Thread dem glücklichen Ende nähert...

Gruss
Biber
Bitte warten ..
Mitglied: onegasee59
08.02.2007 um 20:09 Uhr
Hallo Biber,

ich hab jetzt Deine Variante mit skip=2 benutzt:
set nerokey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe"
for /f "skip=2 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "NeroPath=%%~pj" & set "NeroDrive=%%~dj"

set nerofile="%NeroDrive%%NeroPath%nero.exe"

Ergebnis:
für Nero 7, Originalpfad "D:\Nero\Nero 7\Core\nero.exe"
%NeroPath="\Nero\Nero 7\"
%NeroDrive="D:
%nerofile%="D:\Nero\Nero 7\nero.exe"
Nero-Installation nicht gefunden

für Nero 6, Originalpfad "D:\xxx\Nero\nero.exe"
%NeroPath="\xxx\"
%NeroDrive="D:
%nerofile%="D:\xxx\nero.exe"
Nero-Installation nicht gefunden


Danach (Tip von bastla) dies Version getestet:
set nerokey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe"
for /f "skip=2 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "NeroPath=%%~pnxj" & set "NeroDrive=%%~dj"

set nerofile="%NeroDrive%%NeroPath%nero.exe"

Ergebnis:
für Nero 7, Originalpfad "D:\Nero\Nero 7\Core\nero.exe"
%NeroPath="\Nero\Nero 7\Core\"
%NeroDrive="D:"
%nerofile%="D:\Nero\Nero 7\Core\nero.exe"
Nero-Installation wird gefunden

für Nero 6, Originalpfad "D:\xxx\Nero\nero.exe"
%NeroPath="\xxx\Nero"
%NeroDrive="D:
%nerofile%="D:\xxx\Neronero.exe"
Nero-Installation wird nicht gefunden

Änderung auf
rem set nerofile="%NeroDrive%%NeroPath%\nero.exe"
ergibt folgendes

für Nero 7, Originalpfad "D:\Nero\Nero 7\Core\nero.exe"
%NeroPath="\Nero\Nero 7\Core\"
%NeroDrive="D:"
%nerofile%="D:\Nero\Nero 7\Core\\nero.exe" ---> (beachte \\)
Nero-Installation wird gefunden ---------------------> trotz falschem Pfad!

für Nero 6, Originalpfad "D:\xxx\Nero\nero.exe" 1
%NeroPath="\xxx\Nero"
%NeroDrive="D:
%nerofile%="D:\xxx\Nero\nero.exe"
Nero-Installation wird gefunden

Ist doch total verrückt!
Obwohl bei Nero 7 der Pfad in %nerofile% falsch ist, wird die Nero-Installation von meiner VBS-Routine durchgeführt und die Version sogar erkannt.
Und wenn der User für Nero 6 einen Installationspfad gwählt hat der mindestens 1 Ordner mit Leerzeichen enthält gilt 1 auch für Nero 6

Fazit:
für set "NeroPath=%%~pj" gilt:
Es wird also _IMMER_ der letzte Ordner im Pfad verschluckt.
In jedem Fall ist mit dieser for-Anweisung keine Nero-Installation auffindbar.

für set "NeroPath=%%~pnxj" gilt:
Wenn im Pfad der Installation mindestens 1 Ordner mit Leerzeichen (wie z.Bsp. "nero 7" oder "Program Files") enthalten ist, dann wird am Enden der "\" mitgespeichert, sonst nicht.
Eigenartigerweise wird hierbei bei alles Test (egal welches WIN-System XP/2000/Vista) trotz falschem Pfad von der VBS-Routine immer die Neroinstallation gefunden.
Doch kann ich über diese Brücke gehen?

gruß
onegasee59
Bitte warten ..
Mitglied: Biber
08.02.2007 um 20:26 Uhr
Moin onegasee59,

sorry, meine Schlamperei.
Da ich ja jetzt die Reg-Zeile %nerokey%, Eintrag "Path" auswerte, steht ja auch nur der Path drin.
Es muss dann natürlich "..set NeroPath=%%~pnxj statt "..set NeroPath=%~pj" heißen.

Ist ja auch oben in meinem letzten Beispiel zu sehen... der Restpfad "...\Core\" wird ja nicht ausgegeben.
So jetzt schon:
01.
(=20:22:28  D:\temp=) 
02.
>for /f "skip=2 tokens=2*" %i in (D:\temp\nerovista.txt) do echo set "neropath=%~pnxj" & echo set "nerodrive=%~dj" 
03.
 
04.
(=20:24:49  D:\temp=) 
05.
>echo set "neropath=\Program Files\Nero\Nero 7\Core"   & echo set "nerodrive=C:" 
06.
set "neropath=\Program Files\Nero\Nero 7\Core" 
07.
set "nerodrive=C:"
So viele Hakeleien hatte ich auch selten bei einem Bätschelchen...

Gruss Biber
Bitte warten ..
Mitglied: bastla
08.02.2007 um 20:35 Uhr
Hallo onegasee59!

In diesem Fall musst Du dem Pfad (der ja jetzt nicht mehr als solcher interpretiert wird) noch den abschließenden Backslash spendieren, also
01.
for /f "skip=2 tokens=2*" %%i in ('reg query %nerokey% /v Path') do set "NeroPath=%%~pnxj<b>\</b>" & set "NeroDrive=%%~dj"
Grüße
bastla
Bitte warten ..
Mitglied: Biber
08.02.2007 um 20:47 Uhr
...aber bastla! *tztz

Pfade speichert man/frau doch nie mit abschliessendem Backslash...

Das würde doch die Lesbarkeit unnötig erschweren [ vgl. %HOMEDRIVE%\%HOMEDIR% oder %windir%].

Die einzige mir bekannte Softwareschnellbraterei, die gegen diese Konvention hin und wieder verstösst, wohnt in Redmond...

Gruss
Biber
Bitte warten ..
Mitglied: onegasee59
08.02.2007 um 20:54 Uhr
hallo Biber,

sorry, meine Schlamperei.
Da ich ja jetzt die Reg-Zeile %nerokey%, Eintrag "Path" auswerte, steht ja auch nur der Path drin.
Es muss dann natürlich "..set NeroPath=%%~pnxj statt "..set NeroPath=%~pj" heißen.

Ist ja auch oben in meinem letzten Beispiel zu sehen... der Restpfad "...\Core\" wird ja nicht ausgegeben. So jetzt schon:
01.
> (=20:22:28  D:\temp=) 
02.
> >for /f "skip=2 tokens=2*" %i in (D:\temp\nerovista.txt) do echo set "neropath=%~pnxj" & echo set "nerodrive=%~dj" 
03.
>  
04.
> (=20:24:49  D:\temp=) 
05.
> >echo set "neropath=\Program Files\Nero\Nero 7\Core"   & echo set "nerodrive=C:" 
06.
> set "neropath=\Program Files\Nero\Nero 7\Core" 
07.
> set "nerodrive=C:" 
08.
> 

Ja aber eben nur wenn im Pfad mindesten 1 Ordner mit Leerzeichen enthalten ist.
Ohne Ordner mit Leerzeichen sihet das ganz anders aus nämlich so:
\ProgramFiles\Nero\Nero7\Core\"

So viele Hakeleien hatte ich auch selten bei einem Bätschelchen...


Gibts nen Preis für den längsten Thread?

gruß
onegasee59
Bitte warten ..
Mitglied: bastla
08.02.2007 um 20:56 Uhr
@Biber

... wohnt in Redmond...
... aber auch am Onegasee (siehe ursprüngliche Zielsetzung)

Grüße
bastla
Bitte warten ..
Mitglied: bastla
08.02.2007 um 20:57 Uhr
@onegasee59

Gibts nen Preis für den längsten Thread?
Vergiss es - das schaffen wir hier nie ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
08.02.2007 um 21:38 Uhr
@onegasee59
Ja aber eben nur wenn im Pfad mindesten 1 Ordner mit Leerzeichen enthalten ist.
Also, der letzte Ansatz mit "%~pnxj" sollte mit und ohne Leerzeichen im "Path" funktionieren...
01.
>type nerovistaNospace.txt 
02.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\nero.exe 
03.
(Standard) REG_SZ C:\Program Files\Nero\Nero 7\Core\Nero.exe 
04.
Path REG_SZ C:\ProgramFiles\Nero\Nero7\Core 
05.
 
06.
(=21:32:10  D:\temp=) 
07.
>@for /f "skip=2 tokens=2*" %i in (D:\temp\nerovistanospace.txt) do @echo set "neropath=%~pnxj" & @echo set "nerodrive=%~dj" 
08.
set "neropath=\ProgramFiles\Nero\Nero7\Core" 
09.
set "nerodrive=C:"
Können wir dann bitte bitte bitte diesen Kaugummithread schliessen..? *bettel*

Grüße Biber
P.S. Besser Urlaub am Onegasee als Arbeiten in Redmond...
Bitte warten ..
Mitglied: onegasee59
08.02.2007 um 22:20 Uhr
Hallo Biber

Also, der letzte Ansatz mit "%~pnxj" sollte mit und ohne Leerzeichen im "Path" funktionieren...

Das ist unbestritten, der haut wunderbar hin. Ich hab nur das Problem sobald ein Pfad mit Leerzeichen gefunden wird ist am Ende ein \ sonst nicht!

Wie erfasse ich das also in der Variable %nerofile%?

schreibe ich
set nerofile="%NeroDrive%%NeroPath%nero.exe"
gibt es einen Fehler bei der Nero-Versionserkennung, wenn kein Leerzeichen im Pfad und damit kein \ vor nero.exe vorhanden ist.
Die VBS-Routine findet dann nicht die Nero-Version.

schreibe ich
set nerofile="%NeroDrive%%NeroPath%\nero.exe"
habe ich bei einem Pfad mit Leerzeichen den doppelten \\ vor nero.exe
Die VBS Routine scheint es dennoch korrekt auszulesen, aber kann ich mir dessen jetzt immer sicher sein oder ist das nur Zufall und ein Bug in der VBS-Sprache?

Können wir dann bitte bitte bitte
diesen Kaugummithread schliessen..?
*bettel*


OK - ich häts nur gern gewusst. (auch Bettel)

Und ob es möglich wäre vor dem
set nerofile="%NeroDrive%%NeroPath%nero.exe"
nochmals den Inhalt von %NeroPath% zu prüfen ob am Ende ein \ vorhanden ist und wenn nicht diesen \ anzufügen?

Soll dann auch meine letzte Bitte sein, wenn Du mir sowas "bibern" könntest.
Ich nerve dann auch wirklich nicht mehr und wir können den Thread schließen.

P.S. Besser Urlaub am Onegasee als Arbeiten in Redmond...

Kann ich Euch nur Empfehlen, wer keine Scheu hat Urlaub ohne fließend Wasser und Strom zum machen.

gruß
onegasee59
Bitte warten ..
Mitglied: bastla
08.02.2007 um 22:36 Uhr
Hallo onegasee59!

Die VBS-Routine findet dann nicht die Nero-Version.
Warum lässt Du dann nicht einfach die VBS-Routine den Pfad prüfen? Ein simples
01.
If Right(strPfad, 1) <> "\" Then strPfad = strPfad & "\"
sorgt dafür, dass der Pfad immer mit "\" endet.

Grüße
bastla
Bitte warten ..
Mitglied: onegasee59
08.02.2007 um 22:46 Uhr
@Biber

jetzt wird es mir peinlich

ab Hier komplette Korrektur wegen Autoren-Verwechslung.
Bitte um Entschuldigung an Biber und bastla!!! Dann also nochmal.
Hallo bastla

Warum lässt Du dann nicht einfach die VBS-Routine den Pfad prüfen?

Ich glaube das ist ein Missverständnis. Deine VBS-Routine ermittelt den Pfad bereits IMMER korrekt, denn obiges hast Du schon in Deiner VBS zum ermitteln des Nero-Installationspfad so berücksichtigt.
echo If Right(strNeroPath,1) ^<^> "\" Then strNeroPath = strNeroPath ^& "\" >> "%NPTemp%"

Ich spreche von der VBS-Routine mit der ich die Nero-Version ermittel.
An diese wird die Variable %nerofile% übergeben.

01.
If Right(strPfad, 1) <> "\" Then strPfad = strPfad & "\" > 

sorgt dafür, dass der Pfad immer mit "\" endet.

Wenn ich nun Die for-Anweisung von Biber zum Finden des Nero-Installationspfad benutzen will, wie kann ich das denn als reine Batch bewerkstelligen?
Oder wie kann ich nachträglich in meine VBS-Versionsprüfung einbauen?

01.
rem Prüfen der Version von nero.exe und Abbruch, wenn nicht Nero 6 (oder höher) vorhanden ist 
02.
set "progver=%temp%\progversion.VBS" 
03.
echo Set oFSO = CreateObject("Scripting.FileSystemObject") > %progver% 
04.
echo WScript.Echo oFSO.GetFileVersion(WScript.Arguments.Item(0)) >> %progver% 
05.
echo "%progver%" erstellt >> "%startpfad%NeroClean_Master_log.txt" 
06.
for /f "tokens=*" %%a in ('cscript //nologo "%progver%" %nerofile%') do set nerofilever=%%a 
07.
del /f /s /q "%progver%" > nul
gruß
onegasee59
Bitte warten ..
Mitglied: bastla
09.02.2007 um 08:45 Uhr
Hallo onegasee!

Damit auch bei der Batchvariante der Pfad mit einem Backslash endet, könntest Du folgende Zeile ergänzen:
01.
 if [%NeroPath:~-1%] neq [\] set "NeroPath=%NeroPath%\"
Damit entfällt dann die Notwendigkeit einer Überprüfung in der "progversion.VBS" und Du kannst den bisherigen Code beibehalten.

Grüße
bastla
Bitte warten ..
Mitglied: onegasee59
09.02.2007 um 09:25 Uhr
Guten Morgen @bastla und @Biber

@Biber
Du bist erlöst von mir.
Herzlichen Dank für Deine Geduld und Spucke.

@bastla
Herzlichen Dank für Deinen Schubser <" abgelehnt "> im Verlauf des Threads
Sonst hätte ich schon das Handtuch geworfen.

@Euch Beide
Ich Bedanke mich ganz besonders für alle Eure Tips und Codes mit denen Ihr mir unwahrscheinlich hilfreich auf den richtigen "Weg" geholfen habt.

Wohl jedem Forum was über solche angagierten Fachleute verfügt.
Enorm was man hier lernen kann. Und Danke das ihr mich nie spüren lassen habt wie dämlich ich mich manchmal noch anstelle.

Also ich kann nur nochmal betonen - hier habe ich das für mich bisher beste Forum gefunden. Dazu tragen User wie Biber und bastla massgeblich bei.
Hut ab und Vielen Dank

Mit herzlichsten Grüßen
onegasee59
Bitte warten ..
Mitglied: Biber
09.02.2007 um 09:33 Uhr
...oder, wenn denn auf jeden Fall ein Backslash am Ende des %neropath%'s sein soll...

[Bibervariante]: .... dann füg doch einfach immer einen an. Was soll's.

Dem CMD-Interpreter ist es vollkommen egal, ob er die Zeile
if exist "%nerodrive%\%neropath%\nero.exe" ....
auflöst zu:
if exist "c:\programme\Nero\Nero 7\nero.exe" ....
-oder-
if exist "c:\\programme\Nero\Nero 7\\nero.exe" ....

..ob ein oder zwei Backslashes am Pfad-Ende sind bei EXIST, MOVE, COPY...etc ist vollkommen Banane.

Und für Perfektionisten gibt es ja die bastla-Variante "if [%NeroPath:~-1%] neq [\].."

Gruss
Biber
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
WSUS Neuinstallation auf SBS2011 schlägt fehl (3)

Frage von Blongmon zum Thema Windows Server ...

Windows Installation
Windows Upgrade schlägt fehl (11)

Frage von ratzekahlx zum Thema Windows Installation ...

Exchange Server
Migration Exchange 2007 zu 2013 schlägt fehl (1)

Frage von zimlars zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...