1

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

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

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

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

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

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

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

2 ответа2

3

В 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

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

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

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

start .

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

x:
cd & Jobs::JobNumber
start .

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .