From a43f1f32c88710c94569cea2645772b20ccdb608 Mon Sep 17 00:00:00 2001 From: T's-Neko Date: Sun, 11 Dec 2016 19:32:58 +0900 Subject: [PATCH 1/1] version 1.00 --- README (日本語).txt | 56 ++++++++++++++++++++++++++++++++++++++ README.txt | 55 +++++++++++++++++++++++++++++++++++++ cs_script/Test.txt | 23 ++++++++++++++++ cs_script/cs-script | 14 ++++++++++ cs_script/cs_script.bat | 58 ++++++++++++++++++++++++++++++++++++++++ cs_script/cs_script.png | Bin 0 -> 320 bytes cs_script/cs_script_project.zip | Bin 0 -> 3239 bytes cs_script/err.cs | 9 +++++++ cs_script/new.cs | 17 ++++++++++++ 9 files changed, 232 insertions(+) create mode 100644 README (日本語).txt create mode 100644 README.txt create mode 100644 cs_script/Test.txt create mode 100644 cs_script/cs-script create mode 100644 cs_script/cs_script.bat create mode 100644 cs_script/cs_script.png create mode 100644 cs_script/cs_script_project.zip create mode 100644 cs_script/err.cs create mode 100644 cs_script/new.cs diff --git a/README (日本語).txt b/README (日本語).txt new file mode 100644 index 0000000..bbd3c31 --- /dev/null +++ b/README (日本語).txt @@ -0,0 +1,56 @@ +=== C# script batch 1.00 === + +C# Œ¾Œê‚ðƒXƒNƒŠƒvƒg‚̂悤‚É‚·‚®‚ÉŽÀs‚·‚éƒoƒbƒ` ƒtƒ@ƒCƒ‹‚Å‚·B +Windows 7/10 ‚ŃvƒŠƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é C# ƒRƒ“ƒpƒCƒ‰[‚ðŽg‚Á‚ÄŽÀs‚µ‚Ü‚·B +bash (Ubuntu Linux) ‚ł́Amono ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B + + +C# (.cs) ‚̃Tƒ“ƒvƒ‹F Hello, world! ‚Æ•\Ž¦‚µ‚Ü‚·B +--------------------------------------------------------- +using s = System; // Alias "s::" + +class MainClass +{ + static void Main() + { + s::Console.WriteLine( "Hello, world!" ); + } +} +--------------------------------------------------------- + +.cs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚āAcs_script.bat ‚ÅŠJ‚­‚悤‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B +ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚â WSH (VBScript/JScript) ‚Æ“¯—l‚É C# ‚ðŽÀs‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B +Ý’肵‚È‚­‚Ä‚àA.cs ƒtƒ@ƒCƒ‹‚ð cs_script.bat ‚Ƀhƒ‰ƒbƒO•ƒhƒƒbƒv‚·‚ê‚ÎŽÀs‚Å‚«‚Ü‚·B + +šˆ«ˆÓ‚Ì‚ ‚é .cs ƒtƒ@ƒCƒ‹‚ðŽÀs‚µ‚È‚¢‚悤’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢I + +ƒRƒ}ƒ“ƒh ƒvƒƒ“ƒvƒg‚©‚çŽÀs‚·‚é‚Æ‚«‚́A/c ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯‚é‚ƏI—¹Žž‚ɃL[“ü—Í‚ð +‘Ò‚½‚È‚­‚È‚è‚Ü‚·B +—áF +--------------------------------------------------------- +cs_script.bat new.cs /c Parameter1 +--------------------------------------------------------- + +bash ‚©‚çŽÀs‚·‚é‚Æ‚«‚́Acs-script ‚©‚çŽÀs‚µ‚Ü‚·B +—áF +--------------------------------------------------------- +./cs-script new.cs Parameter1 +--------------------------------------------------------- + +.cs ƒtƒ@ƒCƒ‹‚ɁA// Debug=on ‚Ì‹Lq‚ª‚ ‚é‚ƁAƒfƒoƒbƒK[‚ð‹N“®‚µ‚Ü‚·B +‚½‚¾‚µAVisual Studio Express 2015 for Windows Desktop ‚È‚Ç‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚āA +ƒ†[ƒU[‚̃hƒLƒ…ƒƒ“ƒg ƒtƒHƒ‹ƒ_[‚Ì Visual Studio 2015\Projects\cs_script ‚É +cs_script_project.zip ‚Ì“à—e‚ª“WŠJ‚³‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B + +bash ŠÂ‹«‚́AƒfƒoƒbƒK[‚ɑΉž‚µ‚Ä‚¢‚Ü‚¹‚ñB + +C# ƒRƒ“ƒpƒCƒ‰[‚̃o[ƒWƒ‡ƒ“‚âAƒfƒoƒbƒO—pƒvƒƒWƒFƒNƒg‚ð‚ð•ÏX‚·‚é‚Æ‚«‚́A +cs_script.bat ‚ð•ÒW‚µ‚Ä‚­‚¾‚³‚¢B + + +cs_script ver 1.00 +cs_script is provided under 3-clause BSD license. +Copyright (C) 2016 Sofrware Design Gallery "Sage Plaisir 21" All Rights Reserved. + +ƒ\ƒtƒgƒEƒFƒAƒfƒUƒCƒ“ŠÙ Sage Plaisir 21 http://www.sage-p.com/ + diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..2bd7e7c --- /dev/null +++ b/README.txt @@ -0,0 +1,55 @@ +=== C# script batch 1.00 === + +This is batch file to execute immediately C# language like scirpt. +It uses C# compiler preinstalled on Windows 7/10. +Please install mono on bash (Ubuntu Linux). + + +Example of C# (.cs) : Shows "Hello, world!". +--------------------------------------------------------- +using s = System; // Alias "s::" + +class MainClass +{ + static void Main() + { + s::Console.WriteLine( "Hello, world!" ); + } +} +--------------------------------------------------------- + +Please set up to open by cs_script.bat, if .cs file was double clicked. +You can execute C# like batch file and WSH (VBScript/JScript). +You can execute by drag and drop .cs file on cs_script.bat, even if you did not set up. + +*** Attention: Don't execute malicious .cs file! + +On command promt, the batch file does not wait for any key input at the end of +.cs file, if command line was specified with /c option. +Example: +--------------------------------------------------------- +cs_script.bat new.cs /c Parameter1 +--------------------------------------------------------- + +On bash, please specify with "cs-script" in your shell. +Example: +--------------------------------------------------------- +./cs-script new.cs Parameter1 +--------------------------------------------------------- + +You can connect with debugger, if "// Debug=on" was written in .cs file. +But it is necessary to be installed Visual Studio Express 2015 for Windows Desktop +and so on and be extracted content in cs_script_project.zip +at "Visual Studio 2015\Projects\cs_script" in user document folder. + +On bash, connecting with debugger is not suppored. + +Please edit cs_script.bat, if you change version of C# compiler and +the project for debugging. + + +cs_script ver 1.00 +cs_script is provided under 3-clause BSD license. +Copyright (C) 2016 Sofrware Design Gallery "Sage Plaisir 21" All Rights Reserved. +http://www.sage-p.com/ + diff --git a/cs_script/Test.txt b/cs_script/Test.txt new file mode 100644 index 0000000..debfc2f --- /dev/null +++ b/cs_script/Test.txt @@ -0,0 +1,23 @@ +=========================================================================== +Title: cs_script.bat on Windows Command Line + +- cs_script.bat new.cs /c +- cs_script.bat new.cs /c Parameter1 +- cs_script.bat err.cs /c + + +=========================================================================== +Title: cs_script.bat on Windows Explorer + +- Double click new.cs +- Double click err.cs + + +=========================================================================== +Title: cs_script.sh on bash + +- ./cs-script new.cs +- ./cs-script new.cs Parameter1 +- ./cs-script err.cs + + diff --git a/cs_script/cs-script b/cs_script/cs-script new file mode 100644 index 0000000..3953eb7 --- /dev/null +++ b/cs_script/cs-script @@ -0,0 +1,14 @@ +#!/bin/bash +cs=$1 +exe=${0%/*}/Program.exe +if [ -e "$exe" ];then + rm $exe +fi + +mcs $cs -out:$exe + +if [ -e "$exe" ];then + shift + + mono $exe $* +fi diff --git a/cs_script/cs_script.bat b/cs_script/cs_script.bat new file mode 100644 index 0000000..1b6b53e --- /dev/null +++ b/cs_script/cs_script.bat @@ -0,0 +1,58 @@ +@echo off + +set csc=%windir%\Microsoft.NET\Framework\v4.0.30319\csc +set projects=%USERPROFILE%\Documents\Visual Studio 2015\Projects + +if not exist "%~1" ( echo Please drag and drop cs file. & pause & goto :eof ) + +find "Debug=on" "%~1" > nul +if errorlevel 1 ( goto :no_debug ) + +:debug + if exist "%projects%\cs_script_now" ( rmdir /S /Q "%projects%\cs_script_now" ) + mkdir "%projects%\cs_script_now" + xcopy /E /Y /Q "%projects%\cs_script" "%projects%\cs_script_now" > nul + @echo on + copy "%~1" "%projects%\cs_script_now\Program.cs" > nul + @echo off + echo. + echo C# ƒXƒNƒŠƒvƒg‚ðƒfƒoƒbƒO—pƒvƒƒWƒFƒNƒg‚ɃRƒs[‚µ‚Ü‚µ‚½B + start "" "%projects%\cs_script_now\ConsoleApplication1.sln" + echo. + echo ƒfƒoƒbƒK[‚ð‹N“®’†‚Å‚· ... + echo ‹N“®‚µ‚½‚çA•\Ž¦ ^>^> ƒ\ƒŠƒ…[ƒVƒ‡ƒ“ ƒGƒNƒXƒvƒ[ƒ‰[ ^>^> Program.cs ‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢B + echo ƒfƒoƒbƒK[‚ð•Â‚¶‚½‚瑱s‚µ‚Ä‚­‚¾‚³‚¢BƒfƒoƒbƒO—pƒvƒƒWƒFƒNƒg‚ŕҏW‚µ‚½“à—e‚ðŒ³‚ÌêŠ‚ɃRƒs[‚µ‚Ü‚·B + pause + @echo on + copy "%projects%\cs_script_now\Program.cs" "%~1" + @echo off + echo. + echo ‚±‚̃EƒBƒ“ƒhƒE‚͕‚¶‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + pause > nul + +goto :eof + +: no_debug + if exist "%projects%\cs_script_now" ( rmdir /S /Q "%projects%\cs_script_now" ) + mkdir "%projects%\cs_script_now" > nul + copy "%~1" "%projects%\cs_script_now\Program.cs" > nul + pushd "%projects%\cs_script_now" + "%csc%" /nologo "Program.cs" > "%projects%\cs_script_now\build.log" + popd + + shift & shift + set is_cmd=0 + if "%~0" == "/c" ( set is_cmd=1 & shift ) + if exist "%projects%\cs_script_now\Program.exe" ( + "%projects%\cs_script_now\Program.exe" %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 + if "%is_cmd%" == "0" ( + echo. + echo ‚±‚̃EƒBƒ“ƒhƒE‚͕‚¶‚邱‚Æ‚ª‚Å‚«‚Ü‚·B + ) + ) else ( + type "%projects%\cs_script_now\build.log" + echo ƒRƒ“ƒpƒCƒ‹ ƒGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B + ) + if "%is_cmd%" == "0" ( pause > nul ) + +goto :eof diff --git a/cs_script/cs_script.png b/cs_script/cs_script.png new file mode 100644 index 0000000000000000000000000000000000000000..4368ed7ba505102027aaffd2ec6a34edc70b58ed GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcfQS24TkI`72U@f>%9V978<3-%dO&cvykQCDvotiC(r#&RidK zO)oHAz0lL`>9VEf$nkjRIoQE?vT>P_Q@wCP%qMo1mM2#_+?Wp)wYVO;sO@xn{+aZXTyti1urK!#^bNhZ zr=Hm@#^Pj>o$cwx;b${B7seh`RS02C7Fg9}$f3(RIpCn;WY%kS3=>PzLKhr95(xAl NgQu&X%Q~loCICo{dJ6ym literal 0 HcmV?d00001 diff --git a/cs_script/cs_script_project.zip b/cs_script/cs_script_project.zip new file mode 100644 index 0000000000000000000000000000000000000000..8f4d817a56ac741c33bc29a44641652df6f1a156 GIT binary patch literal 3239 zcmai$2T)Vn7KTG0q1uD=CZZ_KP^IKTz=$M(0S!VBL;`_82u-OPjdYL>f+0pgIs$@p zX(~mUNR^HvD&;Cjm4NWVeKVJ<<9+X(*>lRw{${PUXZ`;|qgdG>004jkU;zj*cktP0OtY#j{X$7o-4`Im1xh*fJneyy+&{)LFI9tZXT{qO=g{> zk+b{j_+Due!+_zGm{QqiUf6JoY-=H7~xDuWFh~+vH71P30ll=p9wV*0kQWRS}?~DKtJmEqIC01=Qk8j6R1$TSkypG^Q1yWHQ8XOO{`_g*5t-9Y(Q%BA=#d`oJPOc zgJhnH1`O9QAKoH)oqc12m0j}S!ONi+38>jOdY`kii#}z}&pZHG*x3~3TFuL;hI@JW zM_ful%Ptn)BV!ir{!_;Rg=-je!~5yhX}FflNISIYcTir2h#g+>5#~I44r;DI2 z;YFtHY#ZDw2`T9u)Oq7r$Ud3NidE8I_>2k?CXF%z4W!MVUc??U&dM(8x>b8WvbpyN z@sh=eVVRj97}3u0O(nb!Otv(8Ic_RfTvaP8c;1Kq`-A!I;B*1ERB#=;!AF9!x z?XxqX_Sv{AGJ;LOa)UY;;4iLtwMJR7GEnB+pPZ1yYq4IH(dcENL-WzC=e0 z#Pd|hnsk6(Jl4HzILYM~<@Q@v51QD*wb`y)ZC2dhe($i`(>SIa^Gh_mb;eqN5?Wl;#di zKgOJT{Z@O+$g@JLMHBf%VZP~m`HF`f(FvSMj^YRlxBExhK+X~;mk2yO?HJ6_@}S~E z5f_ng`cvA8pwNhBMSX8Aqp5gZSe7W){h8rA)(!b)**cbkB_oBAa;BV_H?YRHbfBs7 zK2hp`ZQ)_JXLA^Kpg{7lCltB4*uLZ-8W z?p|D)b7WHsApA{v74q=0sP&AF`rsABWgWW<7s+x8RX#DZZZZdya$(E%D@DZa3v?QU0@$J7s` zm=LcYt6J~e&8l8X+RG}O9$9-xTe7RIi{oUy!{7^WoWFe?@%9gv-7~dho+;u|!z7J) zmQ&32v&Eo2Tpc{Fx-hlbJ`%ZmBg>zd>>o9jeL>_8SbA!F)}%4s z!slp_P2X9wbHMfS54E3vxI^|H9^h-8%Eqj33>aODGW^7!LBEjNhgTb`b+`P+2>fSqiZN&J2BGT(L$lbMa1y~j0zy{E#@1(*bWMMIfJ zRRjLjsQ$49?&)doVoUTjAmLq^1xdtMo)?5e$gY#Ok{8ldSP%s{Hx-iw#i*)IHwla< z4K`|4@<4LZxoT{)Kl*bhvhJ*y09P&G|+1Nob*YgIlW==?sN-MX4Krg z$>ZoSz}dgAKS*Z;Sir-8PUol2vz)kGL}FRz!B(3hFK4dG!3ZQ_7WKyo^%x{U9I@m$ zhU6bbvBN;v!>{CHe8ttpHSx0{zIB{-pi+?dXW5Io&JSiaimguE0xljXRsUMdIt4Sb zHp;i}+@!6nG~&-#Ngp`3UsKcqFWOhs+-f)_q~)Py4t@p3={-^uEdn8)OFV>#>Avjm z&B#GkvZ~j_J~;HG>sj7;et{h|{+F*>7khqqq#tU#z=d0=-8++E`s_dZrV6A9t^ zeT$}1Y_{YT?Jz&d?n+tX`m!H+4$B*wy0EdYTlYxuCHosB;AC%wndFRSyUQVNm}ykj z8N{+dG8Y{Ihnr4^K?=S0bxbBvqn=$nBkpWiwW8dc;A9Y9q0vY)0zzZfnmh$(lT+U6 zY=am_w6kw#F5?;N=7?V3R%R!l0^p)BJmil_aYWp3v1 z>bqyRm4s}c`vSLEZ^pBaX2o_Futnxvf3uj{rF|O;8%Rov`lWa7?Ay#qG-MF5&lLwnG2__A?ih{TITnwC&b;Cx~Cg?JvS# eb+-FA#4l2ZMuC{&0svs= 2 ) { + s::Console.WriteLine( s::Environment.GetCommandLineArgs()[1] ); + } + } +} + + -- 2.11.0