justanumber44
Goto Top

Hilfe bei Batch Script das nur unter Windows 7 laufen wiil...

Hallo, ich habe ein Problem, mit einem Batch Script, das nur an meinem Computer (Samsung RC530 mit 8GB Arbeitsspeicher und Windows 7 Home Premium x64) funktionieren will. Das Script habe ich für einen Freund geschrieben. Ich habe das ganze unter Windows Server 2008 R1 und unter Windows XP Home SP3 getestet, da funktioniert es nicht... Was ich aber herausgefunden habe ist, das die VBS Datein wohl nicht wollen. Wie und wo weiß ich aber nicht.

Das Hauptscript:
@echo off
@title Sys44 v.1.2 - minecraftlobby
:: Internet Check ::
ping www.justanumber44.com
if not %errorlevel% == 0 start NoConnect.vbs & exit



:: Falscher Ordner? ::
if not %cd% == C:\minecraftlobby (
cscript //nologo "FalscherOrdner.vbs" )  
:: Falscher Ordner ::

if not exist AlteUp.txt echo %random%%random%>AlteUp.txt

:: Check Update ::
for /f "delims=" %%i in ('cscript //nologo UpdateCheck.vbs') do set "Update=%%i"  
set /p AlteUp=<AlteUP.txt
echo Update?
echo Wenn "%Update%" gleich "%AlteUP%" ist dann kein Update  



if not "%Update%" == "%AlteUp%" (  
echo Update gefunden
cscript //nologo "Updatefound.vbs"   
echo %Update%>AlteUp.txt 

del /F /Q Fertig.txt
ping localhost -n 2 >nul
echo Starte Download
start "Download..." /max download.bat  
:Fertig_repeat
if exist Fertig.txt goto Fertig_Fertig
echo Warte auf fertigstellung des Downloads
ping localhost -n 2 >nul
goto Fertig_repeat

:Fertig_Fertig
echo entpacke das Update
7z.exe x day.zip -oc:.minecraft\ -y )

echo Abfrage Username

echo fname=InputBox("Bitte geben Sie Ihren Minecraft Username ein","Mnecraft Username","Donald Duck") >Username.vbs  
echo WScript.Echo fname >>Username.vbs
for /f "delims=" %%i in ('cscript //nologo Username.vbs') do set "Username=%%i"  
echo Abfrage Passwort
echo fname=InputBox("Bitte geben Sie Ihr Minecraft Passwort ein","Mnecraft Passwort","Leider nur sichtbarte Eingabe") >Password.vbs  
echo WScript.Echo fname >>Password.vbs
for /f "delims=" %%i in ('cscript //nologo Password.vbs') do set "Password=%%i"  


echo Erstelle VBS Datei, die die ID abfrägt

echo     Const strFileURL = "https://login.minecraft.net/?user=%Username%&password=%Password%&version=13" >sessID.vbs  

echo     Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1") >>sessID.vbs  
    
echo     With oWinHttp >>sessID.vbs
echo         .Open "Get", strFileURL, False >>sessID.vbs  
echo         .Send >>sessID.vbs
echo     End With >>sessID.vbs

echo     If oWinHttp.Status = 200 Then >>sessID.vbs
echo WScript.Echo oWinHttp.ResponseText >>sessID.vbs
echo     End If >>sessID.vbs

echo Starte VBS Datei
for /f "delims=" %%i in ('cscript //nologo sessID.vbs') do set "sessID=%%i"  
echo Lösche Inhalt der VBS Datei
echo In dieser VBS Datei, werden Username und Passwort gespeichert >sessID.vbs
echo Aus Benutzterschutz wird der Inhalt nach dem Empfangen der Login ID >>sessID.vbs
echo dofort entfernt! >>sessID.vbs

set "BADMSG=Bad login"  

if "%sessID%" == "%BADMSG%" cscript //nologo BadLogin.vbs & exit  
echo Zähle Doppelpunkte in der ID (wegen Username)
@echo off &setlocal 

set x=%sessID%
set "FindLetter=:"   

set /a i=0 
set /a Counter=0 
:loop 
call set "Part=%%x:~%i%,1%%"   
if "%Part%"=="%FindLetter%" set /a Counter+=1   
set /a i+=1 
if defined Part goto loop 

echo %Counter% 


echo Splitte die ID, um die Sessio ID zu bekommen

for /f "tokens=%Counter% delims=:" %%a in ("%sessid%") do @set var1=%%a  


cls
	echo Angefordertes Ergebniss: %var1%
	echo.
	echo Daraus die ID:           %SESSID%
	
	echo Verzeichnisswechsel
	cd .minecraft
	cd bin
echo Starte Minecraft mit Auto Login
java -Djava.library.path=.\natives -cp minecraft.jar;jinput.jar;lwjgl.jar;lwjgl_util.jar net.minecraft.client.Minecraft %USERNAME% %var1%
echo by justanumber44
echo MsgBox "Dieses Programm wurde von justanumber44 erstellt! Das Programm wurde für minecraftlobby.de erstellt und darf von anderen nur kostenlos weitergegeben werden.",64,"by justanumber44" >Off.vbs  
start Off.vbs
ping localhost -n 4 >nul
UpdateCheck.vbs
    Const strFileURL = "http://justanumber44.com/Upload.txt"  

    Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")  
    
    With oWinHttp
        .Open "Get", strFileURL, False  
        .Send
    End With

    If oWinHttp.Status = 200 Then
WScript.Echo oWinHttp.ResponseText
    End If

download.bat (Da das Haupscript mit BatchToExe versteckt ist und man aber sehen soll, wie weit der Download noch braucht)

@title wget bereitet den Download vor...

mode con lines=1
echo wget bereitet den Download vor, bitte Warten...

wget.exe --output-document .\Day.zip http://justanumber44.com/Day.zip
echo. >Fertig.txt
exit

Username.vbs (Gleich wie Password.vbs)

fname=InputBox("Bitte geben Sie Ihren Minecraft Username ein","Mnecraft Username","Donald Duck")   
WScript.Echo fname 

Danke für eure Hilfe :D

mfg

Die Restlichen VBS Dateien geben nur Meldungen aus

Mein Server (justanumber44.com) läuft unter Apache, falls das hilfreich ist.

Content-Key: 207352

Url: https://administrator.de/contentid/207352

Printed on: April 24, 2024 at 17:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus Jun 02, 2013 at 16:22:45 (UTC)
Goto Top
VBS ist auch nicht die beste Programmiersprache für Serverskripte. Nimm einfache .cmd, .bat, oder eben Powershell. Da kann man die Ausführberechtigung leichter einstellen.

Grüße
Member: justanumber44
justanumber44 Jun 02, 2013 at 16:51:26 (UTC)
Goto Top
Meinst du als das es an den Berechtigungen gescheitert ist? Dann könnte ich die Tat Datei einfach mit wget.exe herunterladen, da die ja sowieso schon im Ordner ist
Member: falscher-sperrstatus
falscher-sperrstatus Jun 02, 2013 at 16:52:02 (UTC)
Goto Top
Ja, gut möglich.