Ik heb een simpele shell extension voor PDF bestanden toegevoegd:
HKCR\SystemFileAssociations\.pdf\shell\encrypt\command
(REG_EXPAND_SZ) @="%ProgramFiles%\qpdf\encrypt.bat" "%1"
Op zich werkt die. De batch file wordt opgestart en uitgevoerd, maar de working directory klopt niet. Als ik in de batch file "cd bin" uitvoer, gaat ie naar de bin-directory in de directory waar het bestand zit, en niet waar deze batch-file zit.
Voorbeeld. Ik heb een pdfje in D:\test.pdf. Klik ik daarop met de rechter muisknop, kan ik netjes kiezen voor "encrypt" en wordt het batch-bestand uitgevoerd. De batch-file denkt echter dat hij in D:\ zit. En omdat ik vanuit die batch-file naar andere bestanden in diezelfde directory moet verwijzen, heb ik nodig dat het batch-bestand in z'n eigen directory wordt opgestart.
In een shortcut kun je dit instellen in de properties, naast "Start in". Het staat ook wel bekend als de "working directory".
De vraag is dus: hoe stel ik de working directory in het registry in, voor een shell extension in HKCR?
Huidige viezige workaround:
Atm doe ik in het batch-bestand gewoon eerst een "cd %ProgramFiles%\qpdf", maar dat voelt behoorlijk overbodig, want, immers, daar staat het ding al. En het is niet DRY
HKCR\SystemFileAssociations\.pdf\shell\encrypt\command
(REG_EXPAND_SZ) @="%ProgramFiles%\qpdf\encrypt.bat" "%1"
Op zich werkt die. De batch file wordt opgestart en uitgevoerd, maar de working directory klopt niet. Als ik in de batch file "cd bin" uitvoer, gaat ie naar de bin-directory in de directory waar het bestand zit, en niet waar deze batch-file zit.
Voorbeeld. Ik heb een pdfje in D:\test.pdf. Klik ik daarop met de rechter muisknop, kan ik netjes kiezen voor "encrypt" en wordt het batch-bestand uitgevoerd. De batch-file denkt echter dat hij in D:\ zit. En omdat ik vanuit die batch-file naar andere bestanden in diezelfde directory moet verwijzen, heb ik nodig dat het batch-bestand in z'n eigen directory wordt opgestart.
In een shortcut kun je dit instellen in de properties, naast "Start in". Het staat ook wel bekend als de "working directory".
De vraag is dus: hoe stel ik de working directory in het registry in, voor een shell extension in HKCR?
Huidige viezige workaround:
Atm doe ik in het batch-bestand gewoon eerst een "cd %ProgramFiles%\qpdf", maar dat voelt behoorlijk overbodig, want, immers, daar staat het ding al. En het is niet DRY
日本!🎌