Wie finden Sie mein USB-flash-Laufwerk ist Weg mit PowerShell
Bereite ich eine ps1-Datei. Es wird installiert, einige Programme im hintergrund. Aber meine Programme " setup-Dateien gespeichert wurden, die in meinem USB-flash-Laufwerk. In meiner ps1-Datei,
cd E:\User\User_Setups
Dieser Weg ist mein USB-flash-Laufwerk ist Weg. Aber es wird sich ändern, auf der anderen Maschine. Vielleicht G:\, F:\ etc.
Natürlich, ich will nicht zu ändern Sie diesen Pfad für alle anderen Maschinen. Wie PowerShell finde mein USB-flash-Laufwerk-Pfad durch ein command-line?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich ein VolumeLabel("MyToolBox") auf meinen usb-Stick und setzen Sie folgende Zeile im Profil.ps1:
Bekommen-DriveInfo kommt aus dem Modul Pscx: http://pscx.codeplex.com/
Sie müssen importieren Sie dieses in Ihr Profil zu...
Den Start.ps1-Skript ist in den root von meinem usb-stick und registriert Aliase auf dem stick für die Verwendung in der session...
Ich habe dies mit WMI: mit dem device-Typ zu erhalten, um den Laufwerksbuchstaben. in vereinfachter form (real-Skript-logging und error-handling). Ich habe zunächst erhalten
$deviceCaption
ausWin32_PnpEntity
- und Geräte-Manager:Dass der Letzte Ausdruck gibt das den Namen der Festplatte, so etwas wie:
Q:
(nicht enthalten, um den Doppelpunkt).Hinweis: dies übernimmt das Gerät verfügt über eine einzige Festplatte mit einer einzigen partition.
Wahrscheinlich gibt es mehrere gute Möglichkeiten, es zu tun. Persönlich, würde ich eine id-Datei disk.id-Laufwerk und suchen Sie einfach jedes Laufwerk programmgesteuert, bis ich die id-Datei mit der id die ich Suche. So etwas wie dieses:
Es ist ein brute-force-Methode, und Sie müssen, um die Fehler behandeln, die Get-Content, aber es sollte auf den meisten Windows-Installationen. Der einzige Fall, wo würden Sie in Probleme ausgeführt, ist mit Doppel-Gehäuse-Laufwerk-Namen und dann würde man nur benötigen, um eine anspruchsvolle Schleife.
Wenn Powershell mächtiger als normale windows CMD.exe dann warum ich nur den Befehl
in CMD.exe um Ihre Frage zu beantworten? Mir scheint, Sie haben zu schreiben, eine Menge zusätzlichen code, um den relativen Pfad der batch oder cmd-Datei-Informationen, und dies kommt oft in batch-Skripten. Powershell scheitern.
http://ss64.com/nt/syntax-args.html für mehr info.
Können Sie die aktuelle Datei, und verwenden Sie diese, um den aktuellen usb-Laufwerk.