Sajnos az utóbbi időben egyre gyakrabban fordult elő, hogy a munkahelyen megkezdett munka csak otthon került befejezésre illetve a hétvégén megkezdett munkát a munkahelyen folytattam. A két számítógép közötti adathordozást egy WD Passport külső merevlemez végezte, melyre egy idő után az adatok mellé a használt alkalmazások is felkerültek, hogy mindkét helyen a megszokott munkakörnyezet álljon rendelkezésre.
Kényelmetlennek és kevéssé elegánsnak találtam viszont azt, hogy a lemez csatlakoztatása után keresni kell a meghajtót, a könytárakat és az exe fájlokat: lelki szemeim előtt felrémlett a meghajtó betűjelétől függetlenül a felhasználói menüből indítható portable szoftverek megható képe.
A megoldás pedig: wmic - a Windows alaprendszer részét képező, admin jogosultságok nélkül is használható, sql-szerűen paraméterezhető interfész a lemezkezelő szolgáltatáshoz.
Kérek egy csv listát azokról a meghajtókról, melyek volume-neve egyezik a külső meghajtóéval:
wmic logicaldisk where "VolumeName='My Passport'" get /format:csv
tokenizáljuk az eredményt:
for /f "skip=2 tokens=3 delims=," %G in ('wmic logicaldisk where "VolumeName='My Passport'" get /format:csv') do echo %G
a végeredmény a keresett külső meghajtó betűjele. Innen már csak egy ugrás a sugár:
Far Manager
F2 (felhasználói menü)
Insert + Insert Command (új parancs)
a billentyűparancs és a menüszöveg kiválasztása
majd a parancsmezőbe:
for /f "skip=2 tokens=3 delims=," %G in ('wmic logicaldisk where "VolumeName='My Passport'" get /format:csv') do start %G\okosprogramok\okosprogram\okosprog.exe
Voilá.