Можно ли вызвать функцию сравнения Mathematica из командной строки?

TortoiseSVN (а также другие клиенты Tortoise ) включают скрипт - ] diff записные книжки в Mathematica. Функциональность Diff для Mathematica реализована в пакете AuthorTools (возможно, есть что-то получше?)

В настоящее время сценарий работает, создавая небольшой файл записной книжки во временном хранилище. каталог, и открывать его во внешнем интерфейсе. На записной книжке есть большая кнопка, которая выполняет сравнение, и имена файлов, которые нужно различать, жестко запрограммированы.

Недостатком является то, что записная книжка с кодом сравнения будет оставлена ​​в папке temp и не будет очищаться.Также кажется ненужным открывать вспомогательную записную книжку каждый раз, когда мы проводим сравнение.

Можно ли запустить функцию сравнения из командной строки, чтобы избежать просмотра временной записной книжки? Или есть какой-нибудь другой надежный способ улучшить этот процесс и избежать засорения временной папки вспомогательными записными книжками?

Любые предложения по улучшению процесса сравнения приветствуются!

Обратите внимание, что, поскольку TortoiseSVN - это программа для Windows, меня в первую очередь интересуют решения для Windows.


Вот пример записной книжки, которую генерирует сценарий. Я понимаю, что он нуждается в очистке, но в прошлый раз я проверил, что он работает и в версии 5 (!), Поэтому я не хотел трогать его без надобности (без видимого улучшения чего-то).

Notebook[{ 
  Cell[BoxData[ButtonBox["\<\"Compare Notebooks\"\>", 
       ButtonFrame->"DialogBox", Active->True, ButtonEvaluator->Automatic,
       ButtonFunction:>(Needs["AuthorTools`"]; NotebookPut[Symbol["NotebookDiff"]["one.nb", "two.nb"]])
  ]], NotebookDefault] },
  Saveable->False, Editable->False, Selectable->False, WindowToolbars->{}, 
  WindowFrame->ModelessDialog, WindowElements->{}, 
  WindowFrameElements->CloseBox, WindowTitle->"Diff", 
  ShowCellBracket->False, WindowSize->{Fit,Fit}
]

7
задан Vadim Kotov 27 February 2018 в 14:55
поделиться