Geben Sie den Pfad zu dem eingefügten USB-Schlüssel zu einem Skript an

1465
Xavier Nodet

Ich möchte ein bestimmtes Perl-Skript ausführen, wenn ich meine Kamera an meinen PC anschließe, damit dieses Skript alle darauf befindlichen Fotos herunterladen kann. Da sich jedoch der Laufwerksbuchstabe für die Kamera je nach Verbindung ändern kann, muss ich diesen Laufwerksbuchstaben als Argument an das Skript übergeben.

Ist das möglich?

2

2 Antworten auf die Frage

2
grawity

Du könntest:

  1. Weisen Sie einen anderen Laufwerksbuchstaben zu, dann bleibt er gleich. Dies kann in gemacht werdendevmgmt.msc

  2. Weisen Sie anstelle eines Laufwerksbuchstabens einen Dateisystempfad zu (wie in Linux).

    Zum Beispiel "C:\Users\Xavier\Desktop\USB key\"statt "E:\". Nochmal,devmgmt.msc

  3. Führen Sie mountvolden Befehl aus, kopieren Sie den \\?\VolumePfad, ersetzen Sie ihn ?durch einen Punkt .und verwenden Sie stattdessen diesen Pfad.

    Zum Beispiel ist \\?\Volume\boot.iniin meinem Computer das Gleiche wie C:\boot.ini. (Ich bin mir nicht sicher, ob dies die ganze Zeit statisch bleibt - aber es hat bisher für mich funktioniert.)

Das '\\? \ Volume ' ist ein schöner Trick, den ich nicht wusste ... Aber ist es möglich, dass Windows es einem Skript gibt, wenn das Laufwerk eingelegt ist? Xavier Nodet vor 15 Jahren 0
Ich bezweifle, dass es möglich ist, automatisch ein Skript _at all_ auszuführen. grawity vor 15 Jahren 0
1
desolat

Wie ich in Ihrer anderen Frage zu diesem Problem geschrieben habe, könnte auch USBDLM die Lösung sein. Beispielsweise könnte Ihr Foto-Synchronisierungstool beim Verbinden oder bei einem beliebigen Skript gestartet werden.

Sie können die Variable % DriveLetter% verwenden, um an Ihr Skript übergeben zu werden. Hier ist ein Beispiel für einen Konfigurationsabschnitt:

[OnArrival1] open=your_script.bat %DriveLetter% 

Weitere Informationen finden Sie in der Dokumentation (die mitgelieferte Windows-Dokumentation ist viel lesbarer).