C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C#でwsfファイルを実行する


(過去ログ 106 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■63148 / inTopicNo.1)  C#でwsfファイルを実行する
  
□投稿者/ asa (1回)-(2012/07/25(Wed) 19:25:59)

分類:[.NET 全般] 

C#内でwsf内の関数を実行して返り値を得るプログラムを作成したいのですが可能でしょうか。

簡単なサンプルや記述のあるURLなどをいただけると大変助かります。
よろしくお願いいたします。
引用返信 編集キー/
■63153 / inTopicNo.2)  Re[1]: C#でwsfファイルを実行する
□投稿者/ shu (9回)-(2012/07/26(Thu) 17:33:54)
No63148 (asa さん) に返信

http://msdn.microsoft.com/ja-jp/library/cc392507.aspx

例えばa.wsfが以下の内容なら
<package>
    <job id="job1">
        <script language="VBScript">
            WScript.Echo 1
        </script>
    </job>


    <job id="job2">
        <script language="VBScript">
            WScript.Echo 2
        </script>
    </job>
</package>

以下のコマンドで実行出来るので

CScript //Job:job1 〜\a.wsf
CScript //Job:job2 〜\a.wsf

Process起動して戻りを確認するのはどうでしょう?



引用返信 編集キー/
■63154 / inTopicNo.3)  Re[1]: C#でwsfファイルを実行する
□投稿者/ 魔界の仮面弁士 (8回)-(2012/07/26(Thu) 20:16:07)
No63148 (asa さん) に返信
> C#内でwsf内の関数を実行して返り値を得るプログラムを作成したいのですが可能でしょうか。

wsf ではなく、wsc なら可能なのですけれどね。


【C:\temp\test.wsc】

<?xml version="1.0" encoding="utf-8"?>
<package>
<component>

<public>
  <method name="ToYMD">
    <parameter name="dt" />
  </method>

  <property name="Today">
    <get />
  </property>
</public>

<script language="VBScript"><![CDATA[
Option Explicit

Function ToYMD(ByVal dt)
    ToYMD = Year(dt) * 10000 + Month(dt) * 100 + Day(dt)
End Function

Function get_Today()
    get_Today = Date
End Function

]]></script>

</component>
</package>


【C#】

var file = @"C:\temp\test.wsc";
dynamic wsc = Microsoft.VisualBasic.Interaction.GetObject("script:" + file);

dynamic result;

result = wsc.ToYMD(DateTime.Now);
Console.WriteLine(result);

result = wsc.Today;
Console.WriteLine(result);

引用返信 編集キー/
■63161 / inTopicNo.4)  Re[2]: C#でwsfファイルを実行する
□投稿者/ asa (2回)-(2012/07/27(Fri) 18:20:17)
ご回答ありがとうございます。
wscに置き換えられるかどうかチェックしてみます。
(wsfファイル自体今回初めて知ったもので困惑しております)

dynamicの遅延機能便利ですね

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -