Я хотел бы запускать данный Perl-скрипт всякий раз, когда я подключаю свою камеру к ПК, чтобы этот скрипт загружал все фотографии на нем. Но поскольку буква диска для камеры может меняться в зависимости от того, что уже подключено, мне нужно передать эту букву диска в качестве аргумента скрипту.
Это возможно?
2 ответа на вопрос
2
grawity
Вы могли бы:
Назначьте другую букву диска, и она останется прежней. Это можно сделать вdevmgmt.msc
Вместо буквы диска назначьте путь файловой системы (как в Linux).
Например, "C:\Users\Xavier\Desktop\USB key\"вместо "E:\". Снова,devmgmt.msc
Запустите mountvol, скопируйте \\?\Volumeпуть, замените ?его точкой .и используйте вместо этого путь.
Например, \\?\Volume\boot.iniв моем компьютере так же, как C:\boot.ini. (Не уверен, что все это время остается статичным - но пока у меня это получалось.)
«\\? \ Volume » - хороший трюк, которого я не знал ... Но возможно ли, чтобы Windows выдавала его сценарию при вставленном диске?
Xavier Nodet 15 лет назад
0
Я сомневаюсь, что можно автоматически запустить скрипт _at all_.
grawity 15 лет назад
0
1
desolat
Как я уже писал в вашем другом вопросе для этой проблемы, USBDLM может быть решением. Например, он может запустить инструмент синхронизации фотографий при подключении или любой другой скрипт, который вам нравится.
Вы можете использовать переменную % DriveLetter% для передачи в ваш скрипт. Вот пример раздела конфигурации:
[OnArrival1] open=your_script.bat %DriveLetter%
Подробности смотрите в документации (прилагаемая документация Windows гораздо удобнее для чтения).