Avatar billede azerty Juniormester
07. december 2011 - 21:06 Der er 6 kommentarer og
1 løsning

%userprofile%\skrivebord på andre sprog

Jeg har lavet et lille program, som installeres på brugerens computer via en DOS-agtig batchfil (kompileret til en exefil). Via %errorlevel%-kommandoer er programmet designet til kun at installere sig, hvis brugeren kører Windows XP, Windows Vista eller Windows 7.

I processen har jeg brug for at kopiere et link ("*.lnk") til brugerens skrivebord. Det går fint med:

XP: copy /y bla.lnk "%userprofile%\skrivebord"
===

Vista/7: copy /y bla.lnk "%userprofile%\desktop"
========

... hvor linkets "destination" og "start i..." i øvrigt er ændret fra "C:\Programmer" til "%ProgramFiles%".

For Windows Vista og Windows 7's vedkommende er det vist lige meget, om det er dansk, engelsk eller et helt andet sprog. I CMD hedder det vist altid "Desktop" uanset sproget.

Tror jeg nok - jeg ved det faktisk ikke.

I Windows XP derimod er CMD's navn på skrivebordet forskelligt fra land til land. Svenskerne skriver fx "skrivbord" (der mangler et "e").

Der er desværre ikke nogen "Environment Variable" for skrivebordet.

Hvordan kopierer jeg linkfilen til skrivebordet i XP, hvis jeg gerne vil have det til at virke i alle sprog?

Findes der en fiks løsning (fx noget vbs-script), eller skal man virkelig lave en "if exist" for samtlige navne på "skrivebord". Det bliver sikkert flere hundrede, og kan man overhovedet finde en liste med "skrivebords"-betegnelser på alle sprog.

Hvis spørgsmålet forekommer nørdet, skyldes det, at jeg er en nørd.
07. december 2011 - 21:40 #1
Skal det lige være DEN brugers [Skrivebord] ?

Kig på

ALLUSERSPROFILE =
Avatar billede azerty Juniormester
07. december 2011 - 22:02 #2
Tak for svaret, men problemet er vel det samme. Når jeg i xp vælger:

"%Allusersprofile%

får jeg:

C:\Documents and Settings\All Users

hvor der også ligger en "skrivebord"-mappe. Og den hedder stadig forskellige ting på forskellige sprog.
07. december 2011 - 22:14 #3
Det opdagede jeg derefter... men måske som inspiration ?
Avatar billede azerty Juniormester
09. december 2011 - 05:54 #4
Kan det her bruges til noget:

En batchfil:

@ECHO OFF
FOR /F "usebackq delims=" %%i in (`cscript findDesktop.vbs`) DO SET DESKTOPDIR=%%i
ECHO %DESKTOPDIR%

En vbsfil:

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
wscript.echo(strDesktop)

Når man kører batchfilen, går prompten til brugerens skrivebord. Ordet "skrivebord" står ingen steder i nogen af filerne, så det kunne tyde på, at det er sproguafhængigt.

Men kan det bruges til at kopiere en fil?

Kilde: http://stackoverflow.com/questions/2000638/whats-the-environment-variable-for-the-path-to-the-desktop
Avatar billede azerty Juniormester
09. december 2011 - 06:41 #5
Jeg glemte lige at skrive, at vbs-filen i dette eksempel skal hedde:

findDesktop.vbs
Avatar billede azerty Juniormester
11. december 2011 - 01:05 #6
Lukker i morgen.... det må jeg vist selv finde ud af....
Avatar billede azerty Juniormester
11. december 2011 - 21:10 #7
Lukker
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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



IT-JOB