18. oktober 2004 - 10:47Der 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.)??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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
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
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.