Ordner aus CMD mit Platzhalter öffnen

969
Philip McGeehan

Ich verwende FileMaker Pro und möchte einen Ordner in Windows Explorer mit einem Ordnerpfad öffnen, der nicht zu 100% vollständig ist.

Wir haben ein Contracts-Laufwerk, auf dem unsere Jobs gespeichert werden = X: \ In diesem Ordner befinden sich etwa 100 Ordner, die alle mit einer eindeutigen Nummer beginnen, aber auch eine Jobbeschreibung hinter der Nummer haben. Ich möchte den Befehl von FMP senden, der den Ordner mit der angegebenen Nummer öffnet (z. B. X: \ 1234 *).

Von FMP aus kann ich eine Send Event-Funktion verwenden, die eine Eingabeaufforderung ausführen kann. Es können auch BAT-Dateien ausgeführt werden. Ich habe das im Moment:

"cmd /c explorer Y:" & Jobs::JobNumber & "*" 

( Die Teile in Anführungszeichen sind wörtlich und äußerlich geben den in einem Feld gespeicherten Wert zurück. )

aber das öffnet einfach den Explorer am Arbeitsplatz. Also brauche ich eine Möglichkeit, den vollständigen Ordnerpfad anhand der Auftragsnummer zu finden und diesen Ordnerpfad zu öffnen.

Jede Hilfe wäre großartig. Vielen Dank

1

2 Antworten auf die Frage

3
AFH

In cmdes ist bis zu einzelnen Kommandos Platzhalter zu interpretieren, und explorertut dies nicht. Wenn Sie mit einem ungültigen Verzeichnisnamen gestartet werden, wird explorer, wie Sie festgestellt haben, im Standardverzeichnis gestartet .

Sie können einen Platzhalter cmderweitern, indem Sie eine forAnweisung verwenden, wie in:

for /d %d in (X:\1234*) do explorer %d 

Daher muss Ihre Laufzeichenfolge mit folgenden Elementen erstellt werden:

"cmd /c for %d in (Y:\" & Jobs::JobNumber & "*) do explorer %d" 

Ich weiß nicht, wie FileMaker Pro die Systembefehle plant, aber möglicherweise müssen Sie die %Zeichen verdoppeln, wie in einer Batchdatei. Wenn der erweiterte Verzeichnisname Leerzeichen enthält, müssen Sie den explorerParameter in Anführungszeichen setzen .

1
LPChip

In cmd ist dies am einfachsten:

Verwenden Sie zunächst die CD, um zum gewünschten Ordner zu navigieren. Sie können die TABautomatische Vervollständigung von Namen verwenden und mehrmals drücken, wenn weitere Übereinstimmungen vorhanden sind, bis Sie den richtigen Namen erhalten.

Sobald Sie dort sind, können Sie einfach den folgenden Befehl eingeben, um ein Explorer-Fenster vom aktuellen Pfad aus zu öffnen:

start . 

In Ihrem Fall mit Ihrem Skript würde das also so aussehen:

x: cd & Jobs::JobNumber start . 

Wenn Sie sich im Explorer befinden und eine Eingabeaufforderung von diesem Ort aus starten möchten, wechseln Sie zur Adressleiste. Geben Sie statt der Adressleiste einfach cmd ein und drücken Sie die Eingabetaste.