myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [Batch]funzt unter Win8 nicht mehr (https://mygully.com/showthread.php?t=2782596)

o0Pascal0o 20.12.12 15:17

[Batch]funzt unter Win8 nicht mehr
 
hi, mit dieser Batch konnte ich unter XP & Win7 immer Minecraft starten(damit ich es speichern kann, wo ich möchte & nicht immer irgendwo unter C:\):

@echo off
set APPDATA=%CD%\data
start "MineCraftPortable" "data\MineCraftSP.exe"
exit

Jetzt meckert es auf Win8 immer(nur wenn ich es "als Administrator ausführen" auswähle, sonst passiert einfach gar nix):
http://i48.tinypic.com/281h8bp.jpg
Ordnerstruktur:
Minecraft\play.batch
Minecraft\data\.minecraft
Minecraft\data\MineCraftSP.exe

vielen Dank

Pascal

fryx 21.12.12 08:52

APPDATA ist ein [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...](wird von Win in gleichnamiger [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]abgelegt). Glaube nicht, dass sich das ein Multiuser-BS unter dem Hintern wegziehen lässt.

Du musst klarkommen mit den Pfaden oder wieder downgraden.

o0Pascal0o 21.12.12 19:18

Danke, fryx. Und unter WinXP und Win7 war das nicht so? Da hat die Batch ja funktioniert.

fryx 22.12.12 08:43

Unter Win7 müsste das auch sein.

Btw.:
APPDATA ist nicht der Pfad zu den Programmen, sondern zu deren Daten.
Die Batch müsste also lauten:
Code:

@echo off
set "appdata=%~dp0data"
"%~dp0data\MineCraftSP"


o0Pascal0o 23.12.12 16:33

danke - der Fehler bleibt der identische.

fryx 23.12.12 18:50

Dann liegt die Batch nicht im Verzeichnis über "MineCraftSP.EXE".
Oder "data\MineCraftSP.EXE" stimmt nicht.
Poste die Ordnerstruktur.

fryx 25.12.12 17:44

Poste den output von "set" und "dir /a", aufgerufen aus der Batch.

o0Pascal0o 02.01.13 23:32

o.k., hier ist das Ergebnis:
Code:

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Minecraft\data
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=Pascal
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Pascal
LOCALAPPDATA=C:\Users\Pascal\AppData\Local
LOGONSERVER=\\Pascal
NUMBER_OF_PROCESSORS=4
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Pascal\AppData\Local\Temp
TMP=C:\Users\Pascal\AppData\Local\Temp
USERDOMAIN=Pascal
USERDOMAIN_ROAMINGPROFILE=Pascal
USERNAME=Pascal
USERPROFILE=C:\Users\Pascal
windir=C:\Windows
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: 04D2-5B55

 Verzeichnis von C:\Minecraft

25.12.2012  16:01    <DIR>          .
25.12.2012  16:01    <DIR>          ..
03.01.2013  00:27    <DIR>          data
03.01.2013  00:28              135 play.bat
              1 Datei(en),            135 Bytes
              3 Verzeichnis(se), 94.426.787.840 Bytes frei

und ein frohes Neues auch allen Mitlesern!

fryx 03.01.13 09:22

Startest du die Batch von der Kommandozeile oder aus einer Desktop-Verknüpfung?

o0Pascal0o 15.01.13 12:24

ich gehe in den Ordner C:\Minecraft & starte dann dort die play.bat(einfach per Doppelklick)

o0Pascal0o 27.01.13 22:20

hi - ich abe inzwischen etwas neues herausgefunden. Unter Win8 ist "%appdata%", also wenn ich das bei Start>Ausführen eingebe = "C:\Users\Pascal\AppData\Roaming". Und nicht etwa: "C:\Users\Pascal\AppData".
Wenn ich jetzt die folgenden Dateien vom Ordner C:\Minecraft\data nach C:\Minecraft\data\Roaming verschiebe, dann funtkioniert die batch aus dem Startpost wieder:
Minecraft\data\.minecraft
Minecraft\data\MineCraftSP.exe

wie aber könnte ich die Batch so abändern, dass ich die Ordner nicht zu verschieben brauche. Das hier funktioniert nicht:

@echo off
set APPDATA\Roaming=%CD%\data
start "MineCraftPortable" "data\MineCraftSP.exe"
exit

fryx 28.01.13 15:24

Code:

@echo off
 set "APPDATA\Roaming=%CD%\data"
 start "MineCraftPortable" "data\MineCraftSP.exe"
 exit

Mit dem code erzeugst du die Variable %APPDATA\Roaming% mit dem Inhalt "%CD%\data".

Das kannst du so überprüfen:
Code:

@echo off
 set "APPDATA\Roaming=%CD%\data"
 echo "%APPDATA\Roaming%"
 pause


o0Pascal0o 19.02.13 16:32

ah o.k. Ich habe jetzt die Lösung(nahezu):

folgendes war Zufall & ändert im Grunde gar nix:
Zitat:

Zitat von o0Pascal0o (Beitrag 24237413)
Wenn ich jetzt die folgenden Dateien vom Ordner C:\Minecraft\data nach C:\Minecraft\data\Roaming verschiebe, dann funtkioniert die batch aus dem Startpost wieder:

Die Lösung lautet folgendermaßen:
Code:

@echo off
set "appdata=%~dp0data"
"%~dp0data\MineCraftSP"
start "MineCraftPortable" "data\MineCraftSP.exe"
start "MineCraftPortable" "data\MineCraftSP.exe"
exit

So startet es Minecraft immer( Win8 ).

Ich hatte zuvor festgestellt, wenn ich die Batch ohne die doppelte Zeile mehrfach hintereinander ausführe, dass es dann irgendwann funktioniert.

Aber wie kann ich das ohne die doppelte Zeile schaffen? Denn auf XP startet er Minecraft dann direkt 3x! Jo.. nicht 2x, sogar 3x.

vielen Dank :)

fryx 20.02.13 06:07

Diese Zeile startet Minecraft auch: "%~dp0data\MineCraftSP".
Du könntest dir eine XP-Variable basteln:

Code:

@echo off
set "appdata=%~dp0data"
for /f tokens^=3 %%i in ('ver') do set "xp=%%i"
if not "%xp%"="XP" start "MineCraftPortable" "data\MineCraftSP.exe"
if not "%xp%"="XP" start "MineCraftPortable" "data\MineCraftSP.exe"
start "MineCraftPortable" "data\MineCraftSP.exe"
exit

Dass Minecraft mehrfach aufgerufen werden muss um einmal zu starten, hab ich noch nicht gehört. Ist vllt ein Problem mit deinem System.

o0Pascal0o 24.02.13 15:42

hmm.. nach dieser Zeile:
Code:

for /f tokens^=3 %%i in ('ver') do set "xp=%%i"
fliegt er aus der Batch raus und macht nix mehr, die Batch wird beendet. (hab das mit Pausen getestet).

Und woher erkennt der jetzt, ob es ein XP-OS ist? Also bringt mit eine solche Variable? Danke Dir, fryx.

fryx 24.02.13 19:09

Da ist vllt auch nur ein Denkfehler drin & Minecraft muss einfach von "seinem" Verzeichnis aus gestartet werden.
Versuch doch mal die beiden folgenden Batches:

Code:

@echo off
set "appdata=%~dp0data"
pushd "%~dp0data"
start "MineCraftPortable" "MineCraftSP.exe"
popd

Code:

@echo off
set "appdata=%~dp0data"
cd "%~dp0data"
start "MineCraftPortable" "MineCraftSP.exe"


o0Pascal0o 02.03.13 19:33

Wooooow. Das funkioniert beides zu 100% Was wie ... wo ist denn jetzt der Unterschied zu der vorherigen Variante?

Zitat:

Zitat von fryx (Beitrag 24321642)
muss einfach von "seinem" Verzeichnis aus gestartet werden.

Was meinst du denn damit genau?

fryx 03.03.13 11:41

Wenn der Startordner nicht eingestellt ist, kann Minecraft wohl seine Treiber nicht finden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.