19. april 2007 - 15:49 Der er 3 kommentarer og
1 løsning

Oversæt *.CMD til *.VBS

Oversæt nedenstående *.CMD til *.VBS 'sprog' ...

I en fin box midt på skærmen...

Gerne med kommentar undervejs så selv jeg ? (+andre) ka' finde ud af det. Og evt. bygge videre/om på ...

PS: I dette tilfælde skal
C:\Programmer\XXX\program.cmd.lnk
startes som en LINK/GENVEJ for at det virker...

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

@echo off

cls   
echo.   
echo ------ Select System  1, 2, eller 3 ------   
echo.   
echo  1  System 1 (default efter 10 sek.)   
echo  2  System 2   
echo  3  System 3   
echo.   
echo.   
CHOICE /C:123 /N /T:1,10   
if errorlevel 3 goto System1   
if errorlevel 2 goto System2   
if errorlevel 1 goto System3   

:System1   
copy C:\System\Setup1.cfg C:\Programmer\XXX\Setup.cfg /Y   
"C:\Programmer\XXX\program.cmd.lnk"   
goto End   

:System2   
copy C:\System\Setup2.cfg C:\Programmer\XXX\Setup.cfg /Y   
"C:\Programmer\XXX\program.cmd.lnk"   
goto End   

:System3   
copy C:\System\Setup3.cfg C:\Programmer\XXX\Setup.cfg /Y   
"C:\Programmer\XXX\program.cmd.lnk"   
goto End   

:End
Avatar billede nestle Nybegynder
20. april 2007 - 12:03 #1
Her er forsøg, hvis filen det skal kopiere ikke findes laver det en fejl:-)

On Error Resume Next
Dim filesys : set filesys=CreateObject("Scripting.FileSystemObject") ' bruges til at håndtere filer med
Dim WshShell : Set WshShell = WScript.CreateObject("WScript.Shell") ' bruges bla til at starte et program unden for scriptet

Do
Dim test : test = inputbox("Select System  1, 2, eller 3")
Loop while test > 3 OR NOT IsNumeric(test)' checker om du har skrevet et mellem 1 og 3 eller bogstaver bogstaver 

'System 1
if test = (Int(1)) then
filesys.CopyFile "C:\system\Setup1.cfg", "C:\Programmer\XXX\Setup.cfg"
call WshShell.Run("C:\Programmer\XXX\program.cmd.lnk", 1) 'skal vindues køres minimeres skift 1 ud med 0
End if

'System 2
if test = 2 then
filesys.CopyFile "C:\System\Setup2.cfg", "C:\Programmer\XXX\Setup.cfg"
call WshShell.Run("C:\Programmer\XXX\program.cmd.lnk", 1)
End if

'System 3
if test = 3 then
filesys.CopyFile "C:\System\Setup3.cfg", "C:\Programmer\XXX\Setup.cfg"
call WshShell.Run("C:\Programmer\XXX\program.cmd.lnk", 1)
Else ' trykker brugeren på Cancel kommer denne msgbox disse linier kan fjernes
msgbox "Du skal taste et nummer mellem 1 og 3" '
End IF

set filesys = Nothing
Set WshShell = Nothing
20. april 2007 - 12:19 #2
(Ser rigtigt ud - skal lige afprøves i løbet af ugen...)
23. april 2007 - 23:43 #3
... den (som skelet) er ganske brugbar ...
Læg [svar]...
Avatar billede nestle Nybegynder
24. april 2007 - 12:45 #4
Det er jeg da glad for at høre:-)
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
Kurser inden for grundlæggende programmering

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