Avatar billede herberthumlebi Nybegynder
18. oktober 2004 - 10:47 Der er 9 kommentarer og
1 løsning

Kan batchilen gætte cdrom-drevets placering

Hvis jeg laver en batchfil på en 3,5"-diskette, der skal kopiere en fil fra samme diskette til Windows, kunne det fx se sådan ud:

copy a:\enfil.txt c:\Windows\System

--

Hvis nu jeg lægger batchfilen og den fil, der skal kopieres, på en cdrom, kunne det fx se sådan ud:

copy d:\enfil.txt c:\Windows\System

MEN...

Det virker jo kun, hvis brugeren har sit cdrom-drev som "d". Hvis han fx har partitioneret sin harddisk, eller hvis han bruger en ekstern cdrom, så vil drevbogstavet jo være et andet.

Er der en metode til, at batchfilen kan "gætte/finde ud af", hvad brugerens cdrom-drev hedder ("d" - "e" - "f" - "g" osv.)??
Avatar billede ejvindh Ekspert
18. oktober 2004 - 11:00 #1
Når jeg er usikker på drev-bogstavet så plejer jeg at bruge følgende metode (jeg ved ikke om det findes smartere...): Jeg laver simpelthen en if-sætning, der undersøger om en given fil eksisterer (i dit tilfælde kan du jo undersøge om selve batch-filen eksisterer. Ellers sørg for at der ligger en fil med et særpræget navn på disketten/cd-en):

if exist d:\kopi.bat goto ddrev
if exist e:\kopi.bat goto edrev
if exist f:\kopi.bat goto fdrev
if exist g:\kopi.bat goto gdrev
if exist h:\kopi.bat goto hdrev

echo cd-drevet findes tilsyneladende hverken som d-, e-, f-, g-, h-drev
goto slut

:kopi
copy c:\enfil.txt %drev%:\mappe
echo F’RDIG
goto slut

:ddrev
set drev=d
goto kopi

:edrev
set drev=e
goto kopi

:fdrev
set drev=f
goto kopi

:gdrev
set drev=g
goto kopi

:hdrev
set drev=h
goto kopi

:slut
pause >nul
Avatar billede herberthumlebi Nybegynder
18. oktober 2004 - 12:17 #2
Mange tak !

Det ser spændende ud - det ligner præcis dét, jeg har brug for. Vil afprøve det i aften. Vender tilbage.
Avatar billede kox Nybegynder
18. oktober 2004 - 12:22 #3
hvis batch filen ligger samme sted som den fil der skal kopieres burde dette kunne gøre det:
copy enfil.txt c:\Windows\System

noget mindre fancy end ejvindh, men så er du fri for at bruge hele alfabetet :o)
Avatar billede bertelbrander Novice
18. oktober 2004 - 19:48 #4
Avatar billede herberthumlebi Nybegynder
18. oktober 2004 - 22:33 #5
Wow - det skal også prøves.... vender tilbage...
Avatar billede ejvindh Ekspert
19. oktober 2004 - 09:12 #6
Ja, jeg plejer faktisk også selv at supplere ovenstående programstump med en "set /p"-option, i tilfælde af at drevet ikke findes på én af de angivne drev. Så får man automatikken de fleste gange, og i undtagelses-tilfældene bliver man spurgt. Grunden til at jeg havde pillet det ud var at "set /p" kun fungerer under Win2000/Xp. Ellers skal man bruge "choice" (som bertelbrander også skriver i den gamle tråd) - og så er du vist igen nødt til at have hele alfabetet listet op for at få alle muligheder med.

Men altså hvis du bruger Win2000/Xp kan du tilføje følgende efter 6. linie ovenfor, og så slette den gamle 7. linie:

echo Indtast Drev-bogstavet for drevet (x=afslut) :
set drev=
set /p drev=
if %drev%==x goto slut
Avatar billede herberthumlebi Nybegynder
19. oktober 2004 - 13:06 #7
Jeg er meget glad for inputtene, som jeg kopierer til min "gør-det-selv"-mappe på min harddisk - de kunne blive nyttige på et tidspunkt,

Lige nu er...

copy enfil.txt

alt, jeg behøver, så jeg snupper "kox's" løsning. Det virker perfekt, også med...

enmappe\enfil.txt c:\Windows\System

Point uddeles :-)

Og igen, mange tak til alle
Avatar billede ejvindh Ekspert
19. oktober 2004 - 13:48 #8
Ja, indenfor programmering gælder jo at den simpleste af de fungerende løsninger er den bedste, så jeg bøjer mig i støvet for kox....
Avatar billede kox Nybegynder
19. oktober 2004 - 18:43 #9
ja det er nu ikke fordi jeg er 100m-mesterprogrammør, det i her har set er det jeg kan ;O)
Avatar billede herberthumlebi Nybegynder
19. oktober 2004 - 20:06 #10
Tak skal I ha' !!
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