Prüfung aus Batchdatei schmeißen
Hallo zusammen,
ich habe ein Problem...
Meine Lenovo Dockstation USB-C Gen2 hatte Probleme mit meinem Surface.
Nach dem fw-update der Dock klappte aber dann alles...
Jetzt hat die Dock aber anscheinend eine Macke, die Status Leuchte leuchtet durchgehend weiß. Das ist normalerweise nur wenn ein Gerät dran hängt und eingeschaltet ist, wenn das Surface dran hängt wird das sogar gar nicht unterstützt und ist die ganze Zeit aus.
Auch das anschließen eines Lenovo Laptops brachte keine Änderung, die Dock macht den Eindruck als wäre sie irgendwie "hängen geblieben" und es funktioniert keine Bildübertragung mehr. Laden und USB-Geräte funktionieren aber noch..
Naja gut also die üblichen Sachen, vom Strom nehmen, andere Endgeräte dran, andere Kabel etc funktionierten alle nicht...
Jetzt hatte ich die Idee einfach die DP-FW-Treiber nochmal neu drüber zu bügeln ABER die sind schon auf aktuellstem Stand und deshalb wird das Update nicht ausgeführt...
Daher war jetzt meine Idee, aus der .bat Datei einfach die Prüfung rauszuschmeißen ob die Treiber bereits aktuell sind, damit die neuinstallation anzuschmeissen.. Blicke aber bei der .bat Datei nicht durch... Kann mir jemand sagen, wie ich die anpassen müsste ?
VG
ich habe ein Problem...
Meine Lenovo Dockstation USB-C Gen2 hatte Probleme mit meinem Surface.
Nach dem fw-update der Dock klappte aber dann alles...
Jetzt hat die Dock aber anscheinend eine Macke, die Status Leuchte leuchtet durchgehend weiß. Das ist normalerweise nur wenn ein Gerät dran hängt und eingeschaltet ist, wenn das Surface dran hängt wird das sogar gar nicht unterstützt und ist die ganze Zeit aus.
Auch das anschließen eines Lenovo Laptops brachte keine Änderung, die Dock macht den Eindruck als wäre sie irgendwie "hängen geblieben" und es funktioniert keine Bildübertragung mehr. Laden und USB-Geräte funktionieren aber noch..
Naja gut also die üblichen Sachen, vom Strom nehmen, andere Endgeräte dran, andere Kabel etc funktionierten alle nicht...
Jetzt hatte ich die Idee einfach die DP-FW-Treiber nochmal neu drüber zu bügeln ABER die sind schon auf aktuellstem Stand und deshalb wird das Update nicht ausgeführt...
Daher war jetzt meine Idee, aus der .bat Datei einfach die Prüfung rauszuschmeißen ob die Treiber bereits aktuell sind, damit die neuinstallation anzuschmeissen.. Blicke aber bei der .bat Datei nicht durch... Kann mir jemand sagen, wie ich die anpassen müsste ?
@echo off
setlocal enableextensions enabledelayedexpansion
set RESULTCODE=0
set "PassString=Update result: 0"
set "FailString=Ver0.00.000"
cd /d %~dp0
cd ..\PDSolutionBillBoard
cd .\DriverInstallerCyUSB3\cyusb3
call DriverInstallerScript.bat \q
cd ..
cd ..
dp_gpio.exe -vid 17ef -pid A38F -g 1
echo BeforePintoHigh:%time%
cd ..\DP
if exist update.log del /F /S update.log >nul
if "%1"=="0" (
ping 127.0.0.1 -n 15 -w 1000 > nul
echo AfterPintoHigh:%time%
echo /**********DP FW Update Start**********/
Wscript launchquiet_args.vbs "VmmDPTool.exe -s2 -u -fd -fr Panamera_fw_duce2_Ver5_07_001.bin"
if not exist update.log (
ping 127.0.0.1 -n 2 -w 1000 > nul
)
set ErrorLevel=255
for /f "tokens=1,2 delims=" %%a in (update.log) do (
echo %%a| findstr /C:"%PassString%" >nul && (
set ErrorLevel=0
)
)
if !ErrorLevel!==0 set PASS=1
echo ResultCode:!ErrorLevel!
if defined PASS (
if !ErrorLevel!==0 (
echo "DP FW Update Success"
) else (
echo "DP Hub FW update is not required, the current version is equal or newer than the one in flash package"
)
) else (
echo "DP FW Update Failed"
set RESULTCODE=99
)
ping 127.0.0.1 -n 5 -w 1000 > nul
echo /**********DP FW Update Finish**********/
)
if "%1"=="1" (
GraphicCardDetector.exe
echo ResultCode:!ErrorLevel!
if !ErrorLevel!==0 (
ping 127.0.0.1 -n 8 -w 1000 >nul
echo AfterPintoHigh:%time%
echo /**********DP Get Version Start**********/
if exist VmmDPTool.exe (
Wscript launchquiet_args.vbs "VmmDPTool.exe -v0 -s2"
if not exist update.log (
ping 127.0.0.1 -n 2 -w 1000 > nul
)
set RightEXE=255
for /f "tokens=1,2 delims=" %%a in (update.log) do (
echo %%a| findstr /r /C:"Ver[0-9].[0-9][0-9].[0-9][0-9][0-9]" >nul && (
echo %%a| findstr /C:"%FailString%" >nul || (
set RightEXE=0
)
)
)
if not !RightEXE!==0 (
if exist VmmDPTool.exe del /F /S VmmDPTool.exe >nul
) else (
goto Output
)
)
if exist VmmDPTool32.exe (
copy /y VmmDPTool32.exe VmmDPTool.exe >nul
Wscript launchquiet_args.vbs "VmmDPTool.exe -v0 -s2"
if not exist update.log (
ping 127.0.0.1 -n 2 -w 1000 > nul
)
set RightEXE=255
for /f "tokens=1,2 delims=" %%a in (update.log) do (
echo %%a| findstr /r /C:"Ver[0-9].[0-9][0-9].[0-9][0-9][0-9]" >nul && (
echo %%a| findstr /C:"%FailString%" >nul || (
set RightEXE=0
)
)
)
if not !RightEXE!==0 (
set FAULT=1
) else (
goto Output
)
if defined FAULT goto ReplaceEXE
) else (
:ReplaceEXE
if exist update.log del /F /S update.log >nul
if exist VmmDPTool.exe del /F /S VmmDPTool.exe >nul
copy /y VmmDPTool64.exe VmmDPTool.exe >nul
Wscript launchquiet_args.vbs "VmmDPTool.exe -v0 -s2"
)
:Output
echo ResultCode:!RightEXE!
if not exist update.log (
ping 127.0.0.1 -n 2 -w 1000 > nul
)
echo "Get Version :"
for /f "tokens=1,2 delims=" %%a in (update.log) do (
echo %%a
)
echo /**********DP Get Version Finish**********/
) else (
set RESULTCODE=!ErrorLevel!
)
)
cd ..\PDSolutionBillBoard
dp_gpio.exe -vid 17ef -pid A38F -g 0
ping 127.0.0.1 -n 1 -w 1000 > nul
exit /B %RESULTCODE%
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 11565687570
Url: https://administrator.de/forum/pruefung-aus-batchdatei-schmeissen-11565687570.html
Ausgedruckt am: 22.12.2024 um 09:12 Uhr
2 Kommentare
Neuester Kommentar
Moin,
Zeile 36 bis Zeil 39 dürften die Interessanten sein.
In Zeile 36 wird die Variable PASS gesetzt/ erstellt. Gibt es die, geht es weiter.
Ansonsten mal prüfen, ob di Zeile 23, 65, 90 und/ oder 112 "manuell" ausführen kannst.
Prüfe aber, was im Vorfeld alles validiert wird, nicht, dass da irgendwas in die Buchse geht.
Zeile 36 bis Zeil 39 dürften die Interessanten sein.
In Zeile 36 wird die Variable PASS gesetzt/ erstellt. Gibt es die, geht es weiter.
Ansonsten mal prüfen, ob di Zeile 23, 65, 90 und/ oder 112 "manuell" ausführen kannst.
Prüfe aber, was im Vorfeld alles validiert wird, nicht, dass da irgendwas in die Buchse geht.