Sådan bestemmes det aktuelle drevbogstav i autostart i Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Under Windows 7 oprettede jeg en brugerdefineret autostart-entry for en usb-enhed. Denne post starter en batch-fil på min harddisk, ikke på USB-drevet. Min harddisk har altid det samme drevbogstav. Hvordan fortæller jeg batchfilen, hvilket drevbogstav tildeles til USB-enheden, eller hvordan får jeg det i batchfilen selv?


Jeg fandt ud af, at det ikke er\% ~ d0

Bedste reference


Jeg er overrasket\% ~ d0 virker ikke, men din batchfil kører.


Hvis du kan tildele en unik volumenetiket til din USB-enhed, kan du prøve følgende:


for /f \%\%D in ('wmic volume get driveLetter^, label ^| find "yourLabel"') do set drive=\%\%D


EDIT efter at have læst kommentar - OK,\% ~ d0 skal ikke fungere, fordi det bare vil give drevbogstavet, hvor din flagermusfil ligger - din harddisk.


Jeg tror stadig WMIC er det værktøj, du skal bruge. Hvis du leder efter en bestemt enhed, så tror jeg, at mit originale svar måske fungerer. En anden mulighed er at erstatte serialNumber for label i wmic kommandoen. Tilslut din enhed, identificer hvilket drevbogstav det er manuelt, og skriv derefter wmic volume get driveLetter, serialNumber fra kommandolinjen for at identificere hvilket serienummer du leder efter. Derefter kan du bruge følgende i din batchfil


for /f \%\%D in ('wmic volume get driveLetter^, serialNumber ^| find "yourSerialNumber"') do set drive=\%\%D


En anden mulighed kan være at sætte din batch-fil på usb-enheden. Hvis du kan få automatisk start til at starte batchfilen fra din enhed, kan du kan bruge \%~d0 for at få det tildelte drevbogstav.

Andre referencer 1


cd /d \%~dp0 


den svarer til cd/d d: \ currentpath \


\% 0 er din batchfilsti