Откройте папку из CMD, используя подстановочный знак

947
Philip McGeehan

Я использую FileMaker Pro и хотел бы иметь возможность открыть папку в проводнике Windows, если путь к папке не заполнен на 100%.

У нас есть контрактный диск, на котором наши работы сохраняются = X: \. В этой папке около 100 папок, которые начинаются с уникального номера, но также имеют описание работы после номера. Я хочу отправить команду из FMP, которая открывает папку только с указанным номером (например, X: \ 1234 *).

Из FMP я могу использовать функцию отправки события, которая может запускать командную строку. Он также может запускать BAT-файлы. У меня есть это на данный момент:

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

( части в кавычках являются буквальными, а за пределами возвращает значение, хранящееся в поле )

но это только открывает Explorer на моем компьютере. Поэтому мне нужен способ найти полный путь к папке с указанием номера задания, а затем открыть этот полный путь к папке.

Любая помощь будет потрясающей. Спасибо

1

2 ответа на вопрос

3
AFH

В cmdэтом есть до отдельных команд для интерпретации подстановочных знаков, и explorerне делает этого. При запуске с неверным именем каталога explorerзапускается в каталоге по умолчанию, как вы заметили.

Вы можете cmdрасширить подстановочный знак, используя forоператор, например:

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

Таким образом, ваша строка запуска должна быть создана с чем-то вроде:

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

Я не знаю, как FileMaker Pro планирует системные команды, но, возможно, вам понадобится удвоить %знаки, как в командном файле. Если в расширенном имени каталога есть пробелы, вам нужно сгенерировать кавычки вокруг explorerпараметра.

1
LPChip

В cmd самый простой способ сделать это следующим образом:

Сначала используйте CD, чтобы перейти к нужной папке. Вы можете использовать TABдля автозаполнения имен и нажимать его несколько раз, если есть еще совпадения, пока вы не получите правильное.

Оказавшись там, вы можете просто набрать следующую команду, чтобы открыть окно проводника с текущего пути:

start . 

Так что в вашем случае с вашим сценарием это будет выглядеть примерно так:

x: cd & Jobs::JobNumber start . 

Аналогично, если вы находитесь в проводнике и хотите запустить командную строку из этого места, перейдите в адресную строку и вместо адресной строки просто введите cmd и нажмите ввод.