Avatar billede Kluddermor Juniormester
09. juni 2015 - 15:18 Der er 34 kommentarer og
1 løsning

Hjælp til Batch fil der henviser til program uafhængig af mappeplacering. Genåbnet.

Jeg fik lukket et tidligere spørgsmål lidt for hurtigt, for det foreslåede svar virkede ikke alligevel.

Tidligere spørgsmål.
------------------------------------------------------------
Hej Eksperter

På et fritidshjem har jeg nogle batchfiler, der startet minecraft for børnene.

Batchfilerne ligger på en fælles server, og man kan tilgå dem og starte minecraft uafhængig af hvilken computer man har sat sig ved.
Men vi har fået en gruppe nye computere, hvor stien til minecraft er anderledes. Normalt hedder stien noget i stil med:

c:\users\"brugernavn"\appdata\roaming\.minecraft

Da den nye gruppe computere har et andet brugernavn, så passer stien ikke.

Kan man ikke lave en henvisning, der finder vej til appdata- eller minecraft-mappen uafhængig af hvad brugernavnet er?

----------------------------------------------------------

Dette svar virkede på win8.1 computere:

c:\users\%USERNAME%\appdata\roaming\.minecraft

Men på win7 virker det ikke.

Jeg bruger denne linje.

--jar-dir=C:\Users\%USERNAME%\AppData\Roaming\.minecraft\bin\

Som altså virker på win8.1 men ikke win7. PÅ win7 skal jeg skrive det rigtige brugernavn i stedet for %username%

Det er mere i batchfilen end det, men det er denne linje der fejler.

Håber I kan hjælpe "igen"
Avatar billede Kluddermor Juniormester
09. juni 2015 - 15:20 #1
Måske skulle jeg lige skrive hele linjen, så man kan se, at det også har med java at gøre

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=C:\Users\%USERNAME%\AppData\Roaming\.minecraft\bin\ --username=computer5
Avatar billede jakobdo Ekspert
09. juni 2015 - 16:35 #2
Jeg ved der er en variabel på windows, der hedder %appdata%
Kan du måske bruge den?
Den burde linke til:
C:\Users\%USERNAME%\AppData

Så den burde kunne bruges på tværs af alle.
Avatar billede Kluddermor Juniormester
09. juni 2015 - 17:00 #3
Ja jeg har set appdata være brugt, men der hører noget mere til kommandoen før det virker.
Avatar billede claes57 Ekspert
09. juni 2015 - 19:44 #4
bare for lige at tjekke med win-fejl og mærkeligheder. Er det sådanne, at der er mellemrum i username på win7? Det kager win ofte i.
Avatar billede Kluddermor Juniormester
09. juni 2015 - 23:37 #5
@claes57 De brugernavne der bruges er enkeltord. dvs ingen mellemrum. Der er kun to brugernavne. Et sæt enslydende til win7 maskinerne og et sæt enslydende til win8.1 maskinerne
Avatar billede sonalias Seniormester
10. juni 2015 - 09:59 #6
Hejsa:
--jar-dir=%appdata%\.minecraft\bin\ skulle kunne gøre tricket
Avatar billede Kluddermor Juniormester
10. juni 2015 - 18:27 #7
@sonalias
Tak for kommentar. Jeg nåede ikke at afprøve i dag. Tester i morgen. :)
Avatar billede Kluddermor Juniormester
11. juni 2015 - 13:21 #8
@Sonalias
Det virkede på alle computere. Smid et svar for point og tak for hjælpen. :)
Avatar billede sonalias Seniormester
11. juni 2015 - 16:04 #9
Så lidt :)
Avatar billede Kluddermor Juniormester
11. juni 2015 - 20:00 #10
@Sonalias. Sorry jeg var lidt for hurtig. Det virkede alligevel ikke. Jeg lavede en fejl 40, som gjorde at jeg troede det også virkede på win7. :(

Jeg poster fejlbeskrivelsen i cmd vinduet på mandag. Måske det kan kaste lidt lys over hvor det fejler.
Avatar billede sonalias Seniormester
11. juni 2015 - 21:09 #11
Du må gøre noget galt, for jeg bruger ovennævnte kommando hele tiden... De andres forslag burde også have virket, så det er 99 noget andet der er galt...
Avatar billede Kluddermor Juniormester
15. juni 2015 - 12:19 #12
Jeg har en win7 maskine det virker på og en hvor det ikke virker.

Det her er hvad cmd skriver på den hvor det virker:

C:\Windows>java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=\.minecraft\bin\ --username=computer5

C:\Windows\system32\config\systemprofile
Loading natives from: C:\Users\Spil\AppData\Roaming\.minecraft\bin\natives
Loading Minecraft from: C:\Users\Spil\AppData\Roaming\.minecraft\bin\minecraft.jar


Det her er hvad CMD skriver hvor det ikke virker:

C:\Windows>java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=\.minecraft\bin\ --username=computer5

C:\Windows\system32\config\systemprofile
Loading natives from: C:\.minecraft\bin\natives
Loading Minecraft from: C:\.minecraft\bin
java.lang.ClassNotFoundException: net.minecraft.client.MinecraftApplet
Failed to load Minecraft! Exiting.

Maskinerne burde være ens opsætningsmæssigt. Eftersom alle maskiner er rullet ud efter samme image.
Avatar billede sonalias Seniormester
16. juni 2015 - 10:21 #13
Er Java installeret på denne PC? :)
Det er en java klasse den ikke kan finde, har ikke noget med dit startup BAT script at gøre. Evt prøv at opdatere java, så vil jeg tro det fungerer... :)
Avatar billede Kluddermor Juniormester
16. juni 2015 - 13:08 #14
@sonalias:
Tak for hjælpen.

Den ene win7, der ikke vil starte minecraft kan godt køre minecraft hvis den får denne linje:

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=C:\Users\Spil\AppData\Roaming\.minecraft\bin\ --username=Computer5

Så skrives følgende i CMD vinduet:

'\\Nyvoksen\Tegninger\minecraft\logins\0klasse'
CMD.EXE blev startet med ovennævnte sti som aktuel mappe.
UNC-stier understøttes ikke. Mappen Windows vælges som standard.

C:\Windows>java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=C:\Users
\Spil\AppData\Roaming\.minecraft\bin\ --username=Computer5
C:\Windows\system32\config\systemprofile
Loading natives from: C:\Users\Spil\AppData\Roaming\.minecraft\bin\natives
Loading Minecraft from: C:\Users\Spil\AppData\Roaming\.minecraft\bin\minecraft.jar



Men ikke når den får denne linje:

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=%appdata%\.minecraft\bin\ --username=computer5

Så skrives følgende i CMD vinduet:

'\\Nyvoksen\Tegninger\minecraft\logins\0klasse'
CMD.EXE blev startet med ovennævnte sti som aktuel mappe.
UNC-stier understøttes ikke. Mappen Windows vælges som standard.

C:\Windows>java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=\.minecr
aft\bin\ --username=computer5
C:\Windows\system32\config\systemprofile
Loading natives from: C:\.minecraft\bin\natives
Loading Minecraft from: C:\.minecraft\bin
java.lang.ClassNotFoundException: net.minecraft.client.MinecraftApplet
Failed to load Minecraft! Exiting.

Vi har installeret win7 på en anden maskine, med java og minecraft under samme mappestruktur, hvor den altså gerne vil starte med:

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar-dir=%appdata%\.minecraft\bin\ --username=computer5

Kaster det lys over problemet?
Avatar billede sonalias Seniormester
16. juni 2015 - 13:50 #15
Tja, den prøver på at loade fra C:\.minecraft\bin, det kan den selvfølgelig ikke.
Hvad er outputtet på denne computer hvis du skriver %appdata% direkte i cmd?
Avatar billede Kluddermor Juniormester
17. juni 2015 - 13:23 #16
Hvis jeg skriver %appdata% direkte i cmd får jeg melding om at %appdata% ikke blev genkendt som intern eller ekstern kommando, et program eller batchfil.

Men det siger den også på den win7 maskine hvor minecraft gerne vil starte.
Avatar billede sonalias Seniormester
17. juni 2015 - 13:45 #17
Nej.
På den hvor det virker skriver den at C:\Users\"ditnavn"\AppData\Roaming ikke blev genkendt... Fordi %appdata% = C:\Users\"ditnavn"\AppData\Roaming og det er jo ikke en kommando.
Så det du skal teste er at dette fungerer.
Har du teamviewer til PC'en? Så kan du sende det til eksperten@elevtroejer.dk hvis jeg skal kigge på det for dig... :)
Avatar billede sonalias Seniormester
17. juni 2015 - 13:46 #18
** Hvis du er bekymret for dette kan du se i mine tidligere spørgsmål at jeg tidligere har hjulpet folk på denne måde.
Avatar billede Kluddermor Juniormester
17. juni 2015 - 16:37 #19
@Sonalias
Ja du har ret: På den hvor det virker skriver den C:\Users\"ditnavn"\AppData\Roaming ikke blev genkendt...

På den hvor det ikke virker skriver den kun '%appdata' blev ikke genkendt.....

Jeg har ikke teamviewer installeret. ** Men er ikke bekymret for din troværdighed. :)
Avatar billede sonalias Seniormester
18. juni 2015 - 10:22 #20
C:\Users\jbu>%appdata
'%appdata' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\jbu>%appdata%
'C:\Users\jbu\AppData\Roaming' is not recognized as an internal or external comm
and,
operable program or batch file.

Husker du at skrive %appdata% og ikke kun %appdata ? Ellers lave lige en højre klik + select all i cmd og paste det herind :)
Avatar billede Kluddermor Juniormester
18. juni 2015 - 16:34 #21
Det var selvfølgelig en tyrkfejl. ;) Jeg har skrevet %appdata% i cmd.
Avatar billede sonalias Seniormester
19. juni 2015 - 10:34 #22
Kan du så ikke lige kopiere hele fejlmeddelelsen herind? Svært at hjælpe med halve logs :)
Avatar billede Kluddermor Juniormester
19. juni 2015 - 12:51 #23
Jo selvfølgelig:

Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle rettigheder forbeholdes.

C:\Users\TEMP>%appdata%
'%appdata%' blev ikke genkendt som en intern eller ekstern kommando,
et program eller en batchfil.

C:\Users\TEMP>
Avatar billede sonalias Seniormester
19. juni 2015 - 15:05 #24
Gider ud lige teste outputtet fra %userprofile% ? Ligner lidt at computeren har fået ødelagt sine environment variables som de hedder...
Avatar billede Kluddermor Juniormester
19. juni 2015 - 20:52 #25
@Sonalias

Tak fordi du gider hjælpe med et problem, som åbenbart er mere omfattende end først antaget. Det er meget værdsat.
Jeg er først på arbejde igen på mandag, så kan ikke teste før der.

Kan det have at gøre med, at maskinen er sat op fra et image, der har været igennem sysprep?
Googlede mig til, at %appdata% strukturen først blev dannet, når maskinen var færdiginstalleret. (tror jeg var essensen i det jeg læste) En anden havde et lignende problem fordi styresystemet åbenbart ikke var gået igennem de sidste processer, der danner %appdata% strukturen.
(Ja ok jeg ved ikke helt hvad jeg har læst, da det var med mange engelske fagudtryk i et felt hvor jeg ikke er på hjemmebane)

Det skal dog siges, maskinen er opsat for mange måneder siden og har været igennem mange automatiske opdateringer i windows update siden. Så jeg har ikke grund til at tro den har installeret fejlagtigt.
Avatar billede sonalias Seniormester
22. juni 2015 - 09:58 #26
Lyder plausibelt, også derfor jeg gerne lige vil have dig til at tjekke andre som f.eks skriv dette i cmd: "echo %USERPROFILE%"

Hvis den virker kan du bare brug %USERPROFILE%\AppData\Roaming\.Minecraft osv.
Avatar billede sonalias Seniormester
22. juni 2015 - 10:00 #27
Hvis %USERPROFILE% fungere kan du også selv oprette appdata som variable ved at skrive i cmd "set appdata=%USERPROFILE%\AppData\Roaming"
Avatar billede Kluddermor Juniormester
22. juni 2015 - 12:00 #28
Det her er hvad den skriver

Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle rettigheder forbeholdes.

C:\Users\TEMP>echo %USERPROFILE%
C:\Windows\system32\config\systemprofile

C:\Users\TEMP>

Er det det forventede?
Avatar billede sonalias Seniormester
22. juni 2015 - 12:58 #29
Nej det er ikke det forventede.
Det forventede skulle være C:\Users\Temp
Hvad så med echo %username%? :)
Avatar billede Kluddermor Juniormester
23. juni 2015 - 13:04 #30
Jeg har prøvet nu at skrive "echo %username%" "echo %userprofile%" og "echo %appdata%"

Her er resultatet

Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle rettigheder forbeholdes.

C:\Users\TEMP>echo %username%
SYSTEM

C:\Users\TEMP>echo %userprofile%
C:\Windows\system32\config\systemprofile

C:\Users\TEMP>echo %appdata%
%appdata%

C:\Users\TEMP>
Avatar billede sonalias Seniormester
24. juni 2015 - 09:41 #31
Hmn, dine environment variables er fked... Du skal nok selv oprette eksempelvis appdata med "set appdata=C:\Users\TEMP\AppData\Roaming"
Avatar billede Kluddermor Juniormester
24. juni 2015 - 13:29 #32
Hej Sonalias

Du har helt ret. De er fked ,)
Med din hjælp er det vist løst nu. I hvert fald i forhold til at starte minecraft på den pågældende PC.

Den er åbenbart blevet fanget i et loop, hvor den ikke er helt færdig med sætte win7 op.
Nogle gange når den starter har den ændret proceslinjen og startknappen tilbage til sådan som den ser ud når win7 lige er blevet installeret. dvs med 7kabale, introduktion til win osv.
I CMD går den (og 4 andre PC'ere med samme problem) til users/TEMP og ikke users/Spil, som på de andre maskiner.

Jeg har ændret set appdata=C:\Users\TEMP\AppData\Roaming
til set appdata=C:\Users\Spil\AppData\Roaming
Jeg slettede kontoen "Spil" og genoprettede en ny konto med navnet "Spil". Den hedder godt nok Spil.PC6 i mappestrukturen

Men når jeg kopierer .minecraft mappen fra users/spil over til appdata/roaming mappen på den nye konto. Så virker det.

Men noget er helt galt efter de har været igennem sysprep :(

Sonalias jeg vil meget gerne give dig flere point som tak for din ihærdige og omstændige hjælp. Hvis du går op i point. Din hjælp er i hvert fald værdsat.
Avatar billede sonalias Seniormester
25. juni 2015 - 11:41 #33
Nej ellers tak det er helt ok, godt du fik det til at fungere, fortsat god dag :)
Avatar billede Kluddermor Juniormester
25. juni 2015 - 13:11 #34
LØSNING
---------------------------------------------------------
på at win7 er fanget i loop og ikke har oprettet din brugerkonto korrekt..
Dvs hvis du logger ind på din profil men i virkeligheden er logget ind på en midlertidig konto. Du kan se det hvis du i CMD vinduet starter i c:\users\TEMP.

Følgende er taget fra https://social.technet.microsoft.com/Forums/windows/en-US/853357ba-5542-4c4c-bc29-218369b65eec/when-user-logs-in-for-first-time-cuserstemp-directory-is-created-for-his-profile?forum=w7itproui

med visse ændringer for at det passede til min opsætning.

1. Restart your PC to release the locks on your profile.
2. Log on with another administrative account (opret evt en)
3. Delete C:\Users\TEMP
4. Delete the registry key matching your SID from
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\ProfileList". Check the value "ProfileImagePath" to make sure you pick your own profile. (Jeg slettede registreringsnøglen for TEMP brugeren)

5. Restart once again.

Nu starter PC'en korrekt op og logger korrekt ind på brugerkontoen uden at havne i TEMP brugerkontoen.
Avatar billede Kluddermor Juniormester
25. juni 2015 - 13:29 #35
Jeg kunne godt bruge en edit funktion. ;)

Tilføjelse til ovenstående.
Hvis users\TEMP ikke vil slettes kan det være nødvendigt at gøre følgende:

I CMD skriver du
set appdata=c:\users\"dit brugernavn"\appdata\roaming

Jeg havde et antivirusprogram som brugte appdata i TEMP og derfor ikke ville slette TEMP.
registreringsnøglen for users\TEMP skulle jeg også slette før jeg kunne få lov at slette hele mappen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester