「
拡張子からコンソール実行
」を編集中
2016年5月15日 (日) 01:14時点における
YOS G-spec
(
トーク
|
投稿記録
)
による版
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
== [[File:拡張子でコンソール実行.png]] 概要 == [[コンソール実行]]をVBSに移植して、1ファイルのみで多言語対応出来るように機能強化したものです。<br> 拡張子からコマンドを判別するため、以前のように呼び出す時に設定する必要はありません。<br> 足りない言語についても、Caseを追加して実行コマンドを設定することで使用できるようになります。<br> 不具合要望などは以下のリンクまで。<br> <br> [http://yosgspec.blog103.fc2.com/blog-entry-2939.html もう少しリファレンス] == [[File:拡張子でコンソール実行.png]] 対応済み言語処理系一覧 == C、C++(VC++、BCC32、GCC、G++)、D、C#(Mono)、scriptcs、Java、Scala、Groovy、Perl、PHP(Phalanger)、<br> Go、Dart、R言語、JavaScript(Node.js、JScript、JScript.NET、Rhino)、TypeScript、Fortran(G)、<br> VBScript、VB.NET(Mono)、BASIC(FreeBasic)、Pascal(FPC)、Ada(GNAT)、Ruby(JRuby、IR)、Lua(JIT)、<br> Matlab(Octave)、Scilab、Python(PyPy、Jython、IPy)、なでしこ、CoffeeScript、<br> CommonLisp(CLISP、SBCL、MKCL、CCL)、Scheme(Gauche)、Clojure(JVM、CLR)、<br> F#、Haskell(GHC)、CASL II、NASM、.NetIL(ilasm)、BAT、WSF、PowerShell<br> <br> ※ただし、基本的にはパスが通っていることが前提。<br> HSPはコマンドラインコンパイラが標準で用意されていないため断念。<br> 公式プラグインの[[プラグイン:HSPコンパイル実行プラグイン|HSPコンパイル実行プラグイン]]をご利用ください。 == [[File:拡張子でコンソール実行.png]] ZIP == [[Media:拡張子でコンソール実行inマクロ.zip|ダウンロード【2016/05/15版】]]<br> [[:File:拡張子でコンソール実行inマクロ.zip|旧版]]<br> 変換済みicoファイル込<br> == [[File:拡張子でコンソール実行.png]] アイコン == [[File:拡張子でコンソール実行.png]] [[File:拡張子でコンソール実行2.png]] == [[File:拡張子でコンソール実行.png]] ソース == ;exec_cmd.vbs <syntaxhighlight lang=VBScript line> #icon="exec_cmd.ico" #title="コンソール実行" ' exec_cmd.vbs 'ファイルの保存 Document.Save() '保存してなければ終了。 If Document.Name="" Then MsgBox "ファイルが保存されてません。" Quit End If 'タイトル名 Dim TITLE '実行コマンド Dim EXEC_COMMAND '使用エンジン選択 Function ENGINE(file_format) Select Case LCase(file_format) 'C言語 Case "c" 'ENGINE="bcc32" ENGINE="gcc" 'C++ Case "cpp" 'ENGINE="cl" 'ENGINE="bcc32" ENGINE="g++" 'C# Case "cs" ENGINE="csc" 'ENGINE="mcs" 'Perl Case "pl" ENGINE="perl" 'ENGINE="perl6" 'PHP Case "php" ENGINE="php" 'ENGINE="phpc" 'JavaScript Case "js" 'ENGINE="node" ENGINE="jscript" 'ENGINE="jsc" 'ENGINE="rhino" 'VB.NET Case "vb" ENGINE="vbc" 'ENGINE="vbnc" 'Ruby Case "rb" ENGINE="ruby" 'ENGINE="jruby" 'ENGINE="ir" 'Lua Case "lua" ENGINE="lua" 'ENGINE="luajit" 'MATLAB Case "m" 'ENGINE="matlab" ENGINE="octave" 'Python Case "py" ENGINE="python" 'ENGINE="pypy" 'ENGINE="jython" 'ENGINE="ipy" 'ENGINE="ipy64" 'LISP, CommonLisp Case "l","lisp","lsp","cl" ENGINE="clisp" 'ENGINE="sbcl" 'ENGINE="ccl" 'ENGINE="ccl64" 'ENGINE="mkcl" 'Clojure Case "clj" ENGINE="clojure" 'ENGINE="clojure-clr" End Select End Function '使用するエンジンのパス パスが通しにくかったり通らないものを記述 Function ENGINE_PATH(file_format) Select Case LCase(file_format) 'C#, VB.NET Case "csc","vbc" ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319" 'ENGINE_PATH="%ProgramFiles%\MSBuild\12.0\Bin" 'ENGINE_PATH="%ProgramFiles%\MSBuild\14.0\Bin" 'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\12.0\Bin" 'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\14.0\Bin" 'Mono C#, Mono VB.NET Case "mcs","vbnc" ENGINE_PATH="%ProgramFiles%\Mono\lib\mono\4.5" 'ENGINE_PATH="%ProgramFiles(x86)%\Mono\lib\mono\4.5" 'JScript.NET Case "jsc" ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727" 'Rhino Case "rhino" ENGINE_PATH="%HOMEDRIVE%\rhino" 'TypeScript Case "ts" 'ENGINE_PATH="%ProgramFiles%\Microsoft SDKs\TypeScript\1.0" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft SDKs\TypeScript\1.0" ENGINE_PATH="%APPDATA%\npm" 'CoffeeScript Case "coffee" ENGINE_PATH="%APPDATA%\npm" 'Clojure(JVM) Case "clojure" 'clojure-x.x.xのバージョン表記"-x.x.x"を消すと動かなくなる。 ENGINE_PATH="%HOMEDRIVE%\clojure-1.8.0" 'F# Case "fs","ml","mli" ENGINE_PATH="%ProgramFiles%\Microsoft SDKs\F#\3.1\Framework\v4.0" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft SDKs\F#\3.1\Framework\v4.0" 'CASL II Case "cas" ENGINE_PATH="%HOMEDRIVE%\javaCASL2" 'NASM LINK用(VC++必須) Case "link" ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 12.0\VC\bin" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\bin" Case "msvcrt" ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 12.0\VC\lib" 'ENGINE_PATH="%ProgramFiles(x86)%Microsoft Visual Studio 12.0\VC\lib" Case "kernel32" ENGINE_PATH="%ProgramFiles%\Microsoft SDKs\Windows\v7.1A\Lib" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib" Case "addlib" 'ライブラリが他に必要であれば空白区切りで与えてください。 '(ファイルパスに空白を含む時は注意) ENGINE_PATH="" 'NASM LINK用ここまで '.NetILアセンブラ Case "il" ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319" End Select End Function 'パッケージファイル Dim PKG_FILES 'コマンドオプション Dim CMD_OPTION 'ビルドメッセージ '頭の&は何も無い所に付け加えるため必須とする。 Dim BUILDED BUILDED=" & Echo Complited." Dim br:br=" & " '改行用 'Document.Name:現在のファイル名 Dim doc_names:doc_names=Split(Document.Name,".") '拡張子 Dim file_format:file_format=doc_names(UBound(doc_names)) doc_names(UBound(doc_names))="" '拡張子を除いたファイル名 Dim DOC_NAME DOC_NAME=Join(doc_names,".") DOC_NAME=Mid(DOC_NAME,1,Len(DOC_NAME)-1) '実行時exe, classにコンパイルする形式の場合は一行目にコメントで ' delexe, delclass を含めることで事前にexe, classを削除することができます。 'タイトル、実行コマンド Select Case LCase(file_format) Case "c","cpp" 'C, C++ Select Case ENGINE(file_format) Case "cl" 'Visual C++ TITLE="Visual C++ " & Document.Name EXEC_COMMAND=Join(Array( _ "cl ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "bcc32" 'Borland C++ TITLE="Borland C++ " & Document.Name EXEC_COMMAND=Join(Array( _ "bcc32 ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "gcc" 'GCC C TITLE="GCC C " & Document.Name EXEC_COMMAND=Join(Array( _ "gcc -o ",DOC_NAME,".exe ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "g++" 'GCC C++ TITLE="GCC C++ " & Document.Name EXEC_COMMAND=Join(Array( _ "g++ -o ",DOC_NAME,".exe ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") End Select Case "d" 'D言語 TITLE="D言語 " & Document.Name EXEC_COMMAND="dmd " & Document.Name & br & DOC_NAME & ".exe" Case "cs" 'C# 'コンパイルファイル選択 'デフォルトでフォルダ内全てをコンパイル。 '一行目に //only と加えることでそのファイルのみコンパイルを行う。 If load_option("//only") Then PKG_FILES=Document.Name Else PKG_FILES="*.cs" End If Select Case ENGINE(file_format) Case "csc" 'C# TITLE="C# "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\csc"" ", _ "/nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _ DOC_NAME,".exe" _ ),"") Case "mcs" 'Mono C# TITLE="Mono C# "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\mcs"" ", _ "-out:",DOC_NAME,".exe ",PKG_FILES," -optimize+",br, _ DOC_NAME,".exe" _ ),"") End Select Case "csx" 'scriptcs TITLE="scriptcs "+ Document.Name EXEC_COMMAND="scriptcs " & Document.Name Case "java" 'Java 'jar化は手順が面倒そうなので保留 TITLE="Java " & Document.Name EXEC_COMMAND=Join(Array( _ "javac ",Document.Name,br, _ "java ",DOC_NAME _ ),"") Case "scala" 'Scala 'コンパイルオプション '一行目に //class と加えることでclassファイルにコンパイルを行う。 TITLE="Scala " & Document.Name If load_option("//class") Then EXEC_COMMAND="scalac " & Document.Name Else EXEC_COMMAND="scala " & Document.Name End If Case "groovy" 'Groovy 'コンパイルオプション '一行目に //class と加えることでclassファイルにコンパイルを行う。 TITLE="Groovy " & Document.Name If load_option("//class") Then EXEC_COMMAND="groovyc " & Document.Name Else EXEC_COMMAND="groovy " & Document.Name End If Case "pl" 'Perl Select Case ENGINE(file_format) Case "perl" TITLE="Perl " & Document.Name EXEC_COMMAND="perl " & Document.Name Case "perl6" TITLE="Perl6 " & Document.Name EXEC_COMMAND="perl6 " & Document.Name End Select Case "php" 'PHP Select Case ENGINE(file_format) Case "php" 'PHP TITLE="PHP " & Document.Name EXEC_COMMAND="php " & Document.Name Case "phpc" 'Phalanger TITLE="Phalanger " & Document.Name EXEC_COMMAND=Join(Array( _ "phpc /debug- /quiet ",Document.Name,br, _ "bin\",DOC_NAME,".exe" _ ),"") End Select Case "go" 'Go 'コンパイルオプション '一行目に//buildでビルドを行う。 If load_option("//build") Then CMD_OPTION="build" Else CMD_OPTION="run" End If TITLE="GO " & Document.Name EXEC_COMMAND=Join(Array( _ "go ",CMD_OPTION,Document.Name _ ),"") Case "dart" 'Dart TITLE="Dart " & Document.Name EXEC_COMMAND="dart " & Document.Name _ Case "r","q","s" 'R言語 TITLE="R言語 " & Document.Name EXEC_COMMAND="rscript " & Document.Name Case "js" 'JavaScript Select Case ENGINE(file_format) Case "node" 'Node.js 'デバッグオプション '一行目に、 ' //debug と加えることでデバッグモードでの実行を行う。 If load_option("//debug") Then CMD_OPTION="debug" Else CMD_OPTION="" End If TITLE="Node.js " & Document.Name EXEC_COMMAND=Join(Array("node ",CMD_OPTION," ",Document.Name),"") Case "jscript" 'JScript TITLE="JScript " & Document.Name EXEC_COMMAND="cscript //nologo //E:JScript " & Document.Name Case "jsc" 'JScript.NET PKG_FILES=Document.Name TITLE="JScript.NET "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\jsc"" /nologo /out:", _ DOC_NAME,".exe ",PKG_FILES,br, _ DOC_NAME,".exe" _ ),"") Case "rhino" 'Rhino TITLE="Rhino " & Document.Name EXEC_COMMAND=Join(Array("java -jar ",ENGINE_PATH(ENGINE(file_format)),"\js.jar ",Document.Name),"") End Select Case "ts" 'TypeScript TITLE="TypeScript to " & ENGINE("js") & " " & Document.Name EXEC_COMMAND=Join(Array("""",ENGINE_PATH(file_format),"\tsc"" ",Document.Name,br),"") 'エンジン選択 Select Case ENGINE("js") Case "node" 'Node.js EXEC_COMMAND=Join(Array(EXEC_COMMAND, _ "node ",DOC_NAME,".js" _ ),"") Case "jscript" 'JScript EXEC_COMMAND=Join(Array(EXEC_COMMAND, _ "cscript //nologo //E:JScript ",DOC_NAME,".js" _ ),"") End Select Case "f","f90","f95","f03" 'Fortran TITLE="GFortran " & Document.Name EXEC_COMMAND=Join(Array( _ "gfortran -o ",DOC_NAME," ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "vbs" 'VBScript TITLE="VBScript " & Document.Name EXEC_COMMAND="cscript //nologo //E:VBScript " & Document.Name Case "vb" 'VB.NET 'コンパイルファイル選択 'デフォルトでフォルダ内全てをコンパイル。 '一行目に 'only と加えることでそのファイルのみコンパイルを行う。 If load_option("'only") Then PKG_FILES=Document.Name Else PKG_FILES="*.vb" End If Select Case ENGINE(file_format) Case "vbc" 'VB.NET TITLE="VB.NET "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\vbc""", _ " /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _ DOC_NAME,".exe" _ ),"") Case "vbnc" 'Mono VB.NET TITLE="Mono VB.NET" EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\vbnc""", _ " /quiet /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _ DOC_NAME,".exe" _ ),"") End Select Case "bas" 'BASIC TITLE="FreeBasic " & Document.Name EXEC_COMMAND=Join(Array( _ "fbc -lang deprecated ",Document.Name,br _ ,DOC_NAME,".exe" _ ),"") Case "pas","pp" 'PASCAL TITLE="FreePascal " & Document.Name EXEC_COMMAND=Join(Array( _ "fpc ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "adb" 'Ada TITLE="GNAT Ada " & Document.Name EXEC_COMMAND=Join(Array( _ "gnatmake ",Document.Name,br _ ,DOC_NAME,".exe" _ ),"") Case "rb" 'Ruby Select Case ENGINE(file_format) Case "ruby" 'Ruby TITLE="Ruby " & Document.Name EXEC_COMMAND="ruby " & Document.Name Case "jruby" 'JRuby TITLE="JRuby " & Document.Name EXEC_COMMAND="jruby " & Document.Name Case "ir" 'IronRuby TITLE="IronRuby " & Document.Name EXEC_COMMAND="ir " & Document.Name End Select Case "lua" 'Lua Select Case ENGINE(file_format) Case "lua" 'Lua TITLE="Lua " & Document.Name EXEC_COMMAND="lua " & Document.Name Case "luajit" 'LuaJIT TITLE="LuaJIT " & Document.Name EXEC_COMMAND="luajit " & Document.Name End Select Case "m" 'MATLAB Select Case ENGINE(file_format) Case "matlab" 'MATLAB '環境不所持により、動作未確認。 TITLE="Matlab " & Document.Name EXEC_COMMAND="matlab -nodisplay " & Document.Name Case "octave" 'GNU Octave TITLE="GNU Octave " & Document.Name EXEC_COMMAND="octave-cli " & Document.Name End Select Case "sce" 'Scilab '最後にexitを実行しないとreplに移行します。 'また、日本語で文字化け注意。 TITLE="Scilab " & Document.Name EXEC_COMMAND="Scilex -nwni -nb -l ja -f " & Document.Name Case "py" 'Python Select Case ENGINE(file_format) Case "python" 'Python 'コンパイルオプション '一行目に #pyc と加えることでコンパイルを行う。 If load_option("#pyc") Then CMD_OPTION="-m compileall" Else CMD_OPTION="" End If TITLE="Python " & Document.Name EXEC_COMMAND=Join(Array( _ "python ",CMD_OPTION," ",Document.Name _ ),"") Case "pypy" 'PyPy TITLE="PyPy " & Document.Name EXEC_COMMAND="pypy " & Document.Name Case "jython" 'Jython TITLE="Jython " & Document.Name EXEC_COMMAND="jython " & Document.Name Case "ipy" 'IronPython TITLE="IronPython " & Document.Name EXEC_COMMAND="ipy " & Document.Name Case "ipy64" 'IronPython TITLE="IronPython64 " & Document.Name EXEC_COMMAND="ipy64 " & Document.Name End Select Case "coffee" 'CoffeeScript 'コンパイルオプション '一行目に #js と加えることでjsファイルにコンパイルを行う。 If load_option("#js") Then CMD_OPTION="--compile" Else CMD_OPTION="" BUILDED="" End If TITLE="CoffeeScript " & Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(file_format),"\coffee"" ",CMD_OPTION," ",Document.Name, _ BUILDED _ ),"") Case "nako" 'なでしこ '起動オプション '一行目にコメントで下記を含める。なしでコンソール実行 ' vnako: 標準GUI ' gnako: 簡易GUI ' pad: なでしこエディタ起動(コンパイルはエディタから行う) TITLE="なでしこ " & Document.Name If load_option("vnako") Then EXEC_COMMAND="vnako " & Document.Name ElseIf load_option("gnako") Then EXEC_COMMAND="gnako " & Document.Name ElseIf load_option("pad") Then EXEC_COMMAND="nakopad " & Document.Name Else EXEC_COMMAND="cnako " & Document.Name End If Case "l","lisp","lsp","cl" 'LISP, CommonLisp Select Case ENGINE(file_format) Case "clisp" 'CLISP 'コンパイルオプション '一行目に ;fas と加えることでfasファイルにコンパイルを行う。 If load_option(";fas") Then CMD_OPTION="-c" Else CMD_OPTION="" End If TITLE="CLISP " & Document.Name EXEC_COMMAND=Join(Array("clisp ",CMD_OPTION," ",Document.Name),"") Case "sbcl" 'SteelBankCommonLisp 'コンパイルオプション '一行目に ;fasl と加えることでfaslファイルにコンパイルを行う。 '(Macros\exec_cmdフォルダにexec_sbcl_comp.lisp 必須) If load_option(";fasl") Then Dim me_paths:me_paths=Split(Editor.FullName,"\") me_paths(UBound(me_paths))="" 'Macrosフォルダのパス取得 Dim me_path:me_path=Join(me_paths,"\") & "Macros\exec_cmd\" CMD_OPTION=me_path & "exec_sbcl_comp.lisp" Else CMD_OPTION="" End If TITLE="SBCL " & Document.Name EXEC_COMMAND=Join(Array( _ "sbcl --script ",CMD_OPTION," ",Document.Name _ ),"") Case "ccl" 'ClozureLisp 'オプション無し。コンパイルはlispファイルに以下のような設定文を書き加える。 '(ccl:save-application "hello.exe" ;ファイル名 ' :toplevel-function #'main ;初期起動関数 ' :prepend-kernel t) TITLE="ClozureLisp " & Document.Name EXEC_COMMAND="wx86cl --load " & Document.Name Case "ccl64" 'ClozureLisp64 TITLE="ClozureLisp64 " & Document.Name EXEC_COMMAND="wx86cl64 --load " & Document.Name Case "mkcl" 'ManKaiCommonLisp 'コンパイルオプション '一行目に ;fas でfasファイル生成。 ' ;exe でexeファイル生成 If load_option(";fas") Then CMD_OPTION="-compile " & Document.Name ElseIf load_option(";exe") Then TITLE="MKCL " & Document.Name CMD_OPTION=Join(Array( _ "-not-fasl-p -compile ",Document.Name,br, _ "timeout /t 1 > nul",br, _ "mkcl -o ",DOC_NAME,".exe -link ",DOC_NAME,".o", _ BUILDED _ ),"") 'mkcl -not-fasl-p -compile a.lisp & mkcl -o a.exe -link a.o 'exe化失敗を防ぐためにwaitの小細工 Else CMD_OPTION="-shell " & Document.Name End If TITLE="MKCL " & Document.Name EXEC_COMMAND="mkcl " & CMD_OPTION End Select Case "scm" 'Scheme TITLE="Gauche " & Document.Name EXEC_COMMAND="gosh " & Document.Name Case "clj" 'Clojure Select Case ENGINE(file_format) Case "clojure" 'Clojure(JVM) Dim version version=Split(ENGINE_PATH(ENGINE(file_format)),"-") TITLE="Clojure " & Document.Name EXEC_COMMAND=Join(Array( _ "java -jar """,ENGINE_PATH(ENGINE(file_format)), _ "\clojure-",version(UBound(version)),".jar"" ",Document.Name _ ),"") Case "clojure-clr" 'ClojureCLR TITLE="ClojureCLR " & Document.Name EXEC_COMMAND="Clojure.Main " & Document.Name End Select Case "fs","ml","mli" 'F# PKG_FILES=Document.Name TITLE="F# "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(file_format),"\fsc""", _ " --nologo --out:",DOC_NAME,".exe ",PKG_FILES," --optimize+",br, _ DOC_NAME,".exe" _ ),"") Case "hs" 'Haskell TITLE="GHC " & Document.Name EXEC_COMMAND=Join(Array( _ "ghc --make ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "cas" 'CASL II TITLE="Java CASL II " & Document.Name EXEC_COMMAND=Join(Array( _ "java -jar """,ENGINE_PATH(file_format),"\casl2.jar"" ",Document.Name,br, _ "java -jar ",ENGINE(file_format),"\run.jar ",DOC_NAME,".obj" _ ),"") 'java -jar casl2.jar aaa.cas 'java -jar run.jar aaa.obj Case "asm" 'NASM TITLE="NAST " & Document.Name EXEC_COMMAND=Join(Array("nasm -f win32 ",Document.Name,br, _ """",ENGINE_PATH("link"),"\link"" /nologo /out:",DOC_NAME,".exe ",DOC_NAME,".obj ", _ """",ENGINE_PATH("msvcrt"),"\msvcrt.lib"" """,ENGINE_PATH("kernel32"),"\Kernel32.lib"" ", _ ENGINE_PATH("addlib"),br, _ DOC_NAME,".exe" _ ),"") 'nasm -f win32 aaa.asm 'link /nologo /out:aaa.exe aaa.obj msvcrt.lib Kernel32.lib 'aaa.exe Case "il" '.NetILアセンブラ TITLE=".NetIL " & Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(file_format),"\ilasm"" /nologo /quiet ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "bat" 'BAT TITLE="BAT " & Document.Name EXEC_COMMAND=Document.Name Case "wsf" 'WSF TITLE="WSF " & Document.Name EXEC_COMMAND="cscript //nologo " & Document.Name Case "ps1" 'PowerShell TITLE="PowerShell " & Document.Name EXEC_COMMAND="powershell " & Document.Name Case Else TITLE=Document.Name EXEC_COMMAND=Document.Name End Select 'コマンドライン起動 Dim cmd:Set cmd = CreateObject("WScript.Shell") cmd.Run Join(Array( _ "cmd /C """, _ "title ",TITLE,br, _ "cd/d ",Document.Path,br, _ DEL_BINARY(), _ EXEC_COMMAND,br, _ "pause > nul",br, _ "exit"""),""),1 Set cmd=Nothing 'コマンドラインオプションの読込 Function load_option(opt) load_option=Instr(LCase(Document.GetLine(1)),opt) End Function 'exe又はclassファイルを削除するかどうか Function DEL_BINARY() If load_option("delexe") Then DEL_BINARY=Join(Array("del ",DOC_NAME,".exe",br),"") ElseIf load_option("delclass") Then DEL_BINARY=Join(Array("del ",DOC_NAME,".class",br),"") Else DEL_BINARY="" End IF End Function </syntaxhighlight> <br> ;exec_sbcl_comp.lisp <syntaxhighlight lang=Lisp line> ;exec_sbcl_comp.lisp ;exec_cmd.vbs SBCLコンパイル用 ;Mery以下のMacro\exec_cmd\に配置してください。 (compile-file (elt *posix-argv* 1)) </syntaxhighlight>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク