Я пытаюсь распечатать все файлы в определенном формате (например, *.xmcd) в папке в PDF. Я уже сделал AdobePDF моим принтером по умолчанию. Я хочу выполнить эту задачу с помощью powershell, но при запуске я получаю сообщение об ошибке, которое, как мне кажется, должно что-то делать с программным обеспечением Mathcad.

Я также добавил тег VBScript с тех пор, как я продвигаюсь вперед с этим. Я больше думаю об использовании Visual Basic для этой цели.

Это команда:

Start-Process -FilePath “internal.company.com\path\to\the\file.xmcd” –Verb Print -PassThru | %{sleep 10;$_} | kill

И ошибка, которую я получаю:

В основном он должен получить файл, начать печать и через 10 секунд закрыть приложение.

Я также попробовал Cygwin и cygstart как показано ниже, но это дает мне ошибку;

cygstart --print myfile.xmcd

и ошибка: Unable to start 's.xmcd': The DDE transaction failed.

Первый шаг - выяснить способ печати листа mathcad с использованием powershell или batch/bash script.

Примечание . Листы Mathcad имеют формат XML.

Примечание-2: Out-Print дает PDF-файл XML.

Примечание-3: cmd.exe /C ASSOC .xmcd дает мне .xmcd=Mathcad .

И, cmd.exe /c ftype Mathcad дает мне Mathcad="C:\Program Files (x86)\Mathcad\Mathcad 15\mathcad.exe" /dde .

1 ответ1

0

Я нашел способ сделать это;

for %f in (*.xmcd) do "C:\Program Files (x86)\Mathcad\Mathcad 15\mathcad.exe" -p %f

Появится диалоговое окно сохранения, и вам нужно нажать кнопку ОК, чтобы сохранить его в формате PDF (или отправить на принтер по умолчанию).

Целесообразно не запускать одновременно столько файлов (было бы неплохо 10-20), так как это может вызвать некоторые ошибки, включая лицензирование, но не ограничиваясь этим.

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