Avatar billede daki Juniormester
23. november 2005 - 10:12 Der er 22 kommentarer og
1 løsning

Batfil til kopiering af filer

Jeg skal have lavet en CD med installationsprogrammer.
Når man så har installeret disse programmer skal jeg have kopieret nogle genveje til skrivebordet og nogle mapperne til stedet hvor programmerne er installeret.

Jeg forestiller mig, at filen kaldes opret.bat
Hvis programmerne ikke er installeret skal man have at vide, at det skal gøres først.

For program1 skal følgende ske:
Fra  CD'en skal alle filer i mappen "program1\genvej" kopieres ud på skrivebordet.
Mappen "program1\mappe1" skal kopieres til "c:\programmer\program1\".

For program2 skal følgende ske:
Fra  CD'en skal alle filer i mappen "program2\genvej" kopieres ud på skrivebordet.
Mappen "program2\mappe2" skal kopieres til "c:\programmer\program2\".
Avatar billede bertelbrander Novice
23. november 2005 - 22:45 #1
Du kan finde placering af skrivebord/desktop med følgende (det er én linie i en .bat-fil):
for /F "tokens=1,2,*" %%A in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" ^|findstr Desktop') do set Desktop=%%C

Så kan du kopiere til skrivebord med:
copy \program2\genvej\* "%Desktop%"

Resten burde være simple copy eller xcopy kommandoer.
Prøv at køre:
copy /?
og
xcopy /?
i en dosbox for at finde ud af hvilke parametre de tager.
Avatar billede serverservice Praktikant
24. november 2005 - 16:31 #2
Program1.

XCOPY "D:\program1\genvej\*.*" C:\Documents and Settings\%username%\Desktop\  /E /H
XCOPY D:\program2\mappe1 c:\programmer\program1\  /E
Avatar billede bertelbrander Novice
24. november 2005 - 20:08 #3
Min desktop hedder Skrivebord (dansk XP home)
Der skal "" omkring stier når der er mellemrun i.
Avatar billede daki Juniormester
30. november 2005 - 08:45 #4
Undskyld den langsomme svar tid, men jeg har ikke modtaget noget mails, at der var svaret/kommenteret i spørgsmålet !!!!!

dannyboyd -> hvis jeg nu ikke kan gå ud fra at cd-drev = D hvergang og mappen "programmer" kan også hedde "program files"
Avatar billede bertelbrander Novice
30. november 2005 - 20:34 #5
Du kan bruge %ProgramFiles% for sti til "programmer":

copy * "%programfiles%\whatever\"

Du behøver ikke at angive drev for source ved kopiering, du kan bare bruge:
copy "\some folder\*" "%programfiles%\whatever\"
Avatar billede daki Juniormester
05. december 2005 - 08:59 #6
Nu er vi ved at være der :-)

C:\Documents and Settings\%username%\Desktop\
Desktop kan også være Skrivebord.

XCOPY "client access v5r3m0"\genvej\*.* C:\"Documents and Settings"\%username%\Skrivebord\ /e/h/f/l/y
Kan se at filer kopieres, men der kommer ingen filer på skrivebordet.

Kan man sætte en pause på eks. 5 sek. inden skærmbilledet lukker.
Avatar billede bertelbrander Novice
10. december 2005 - 18:08 #7
Man kan ikke lave en timeout i stdandard windows, du kan putte en
pause
ind sidst i scriptet, så skriver den "Tryk på en vilkårlig tast for at fortsætte . . ." og venter på at du trykker på en tast.

Jeg tror ikke du skal have /l på, jeg er heller ikke sikker på /e
Avatar billede daki Juniormester
13. december 2005 - 20:27 #8
Jeg er godt klar over det med pause. :-)
Men det ville være bedre med automatisk luk.

/L viser hvilke filer der kopieres.

Med hensyn til Skrivebord/Desktop, hvad gør jeg der.
Avatar billede bertelbrander Novice
13. december 2005 - 20:29 #9
Har du prøvet min metode fra første indlæg?
Avatar billede daki Juniormester
13. december 2005 - 22:03 #10
Når jeg kopiere linien ind, kommer der en meddelelse om, at 'reg' blev ikke genkendt som en intern eller ekstern kommando, et program eller en batchfil.
Avatar billede bertelbrander Novice
13. december 2005 - 22:05 #11
Har du ikke en reg.exe i system32 mappen?
Hvilken windows version?
Avatar billede daki Juniormester
13. december 2005 - 22:16 #12
WIN2000.....
ikke reg.exe, men regedt32.exe
Avatar billede bertelbrander Novice
13. december 2005 - 22:19 #13
Jeg prøver om jeg kan finde en løsning med regedit.

(Jeg gik ud fra at det var XP da spørgsmåler er stillet i XP kategorien.)
Avatar billede daki Juniormester
13. december 2005 - 22:20 #14
eller XP, afhængig af personen.
Filen skal bruge, når en medarbejder skal have etableret hjemme arbejdsplads.

Der bliver først installeret 2 programmer (Følg vejledningen på skærmen metode).
Derefter skal der så kopieres nogle genveje ud på skrivebordet og nogle ekstra mapper til de installerede programmer.

Bat-filen skulle gerne foretage denne procedure.
Avatar billede bertelbrander Novice
13. december 2005 - 22:30 #15
Prøv at køre følgende bat-fil, den skulle gerne skrive stien til desktop/skrivebord

@echo off
regedit /E myreg.reg "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /F "tokens=1,* delims==" %%I in ('type myreg.reg ^| findstr Desktop') do set DeskTop=%%J

set DeskTop=%DeskTop:\\=\%
echo %DeskTop%
Avatar billede daki Juniormester
14. december 2005 - 14:22 #16
Ja det gør den - både i win2000 og winXP.
Der oprettes en fil (myreg.reg). Når der startes fra en cd, hvor gemmes den så ?

Det med /L tager jeg i mig igen, det viser bare hvilke filser som vil blive kopieret, men der kopieres ikke.

Hvis jeg vil checke om begge programmer er installeret inden kopieringen foretages, hvordan gør jeg det?
Avatar billede bertelbrander Novice
14. december 2005 - 19:48 #17
myreg.reg bliver oprettet der hvor bat-filen køres fra, hvis det er en cd er det nok ikke så smart.

Du kan bruge %SystemDrive%\myreg.reg i stedet for myreg.reg, eller bruge %temp% men der er (eller kan være) mellemrum i, og det kan give noget bøvl.

Det er nok en god ide at slette myreg.reg efter brug.

Du kan bruge if exist ... til at checke om en fil findes:
if exist c:\AUTOEXEC.BAT (@echo Is there ) else (@echo Isn't there)
Avatar billede daki Juniormester
14. december 2005 - 20:31 #18
kan man gøre sådan:
If exist %programfiles%\Program1\mappe and if exist %programfiles%\program2\mappe then goto kopi

:kopi
regedit /E %windir%\myreg.reg ......
Xcopy .......

del %windir%\myreg.reg /y
Avatar billede bertelbrander Novice
14. december 2005 - 20:43 #19
Ja, det ser sådan ud:

@echo off
if exist c:\autoexec.bat if exist c:\install.log goto :AllSet
echo One is missing
goto :eof
:AllSet
echo All set

(der skal ikke and og then på)
Avatar billede daki Juniormester
16. december 2005 - 10:11 #20
Så ruller det :-)
Nu mangler jeg bare at kunne foretage en silent install på de 2 programmer,, men det kan du jo ikke hjællpe med ;-)

Smid et svar, så du kan få points.
Avatar billede bertelbrander Novice
16. december 2005 - 20:48 #21
Jeg samler ikke på point.
Avatar billede daki Juniormester
16. december 2005 - 20:59 #22
OK, tak.
Du har fået karma i stedet.
Avatar billede daki Juniormester
21. december 2005 - 15:42 #23
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