
C#で書かれたプログラムをバッチ処理を行いたいのですが,方法があまり良く分かりません.
まずC#で書かれたプログラムを起動すると,
処理したいファイル名を入力するテキストボックススと,
パラメータを入力するテキストボックスが表示されて,
ボタンを押すと処理が始まります.
処理したいファイルが数百あるので,バッチ処理でできないものかと考えているのですが,
どのようにC#のプログラムに引数を渡して処理させればいいのか分かりません.
理想としては,コマンドプロンプトから,各種値が入ったテキストファイルなんかを読み込ませて処理できればよいのですが...
十分伝えきれているのか不安ですが,宜しくお願い致します.
No.3ベストアンサー
- 回答日時:
今後も数百単位の処理を行うのなら、一番楽なのはそのC#で作られたというプログラムに手を加える事です。
1回限りでも同じ事ですが。
難しいだのできるかもだの言われてますが、できるかな?じゃなくやるんです。
UWSCで実行する手順を以下に書きます。
前提条件
C#で作られたテキストボックスが左上から数えて
1番目がファイル名、2番目がパラメータであること
ボタンが1つしかない又は左上から数えて1番目のボタンが処理を実行するボタンであること
1ファイルにつき処理そのものが3秒以内で終了すること
処理したいファイル名が必ず存在すること(エラー処理してません)
1.「// ここから」 以下の行を全てコピーし、メモ帳に貼り付け保存、拡張子をtxtからuwsに変更する
2.「処理したいファイル名,パラメータ」を列記したファイルをargs.txtとして作成し、uwsファイルと同じフォルダに置く
3.C#で作られたプログラムを起動する
4.UWSCを起動して先ほど作成したuwsファイルを読み込み、Alt+F1でマクロ開始
5.C#で作られたプログラムのタイトルバーあたりをクリックしてアクティブにし、Ctrlキーを押す
列記したファイル名で上手くいかない場合はフルパスで列記してみたらいいかもしれません。
// ここから
OPTION LOGFILE = 3
// ログファイル名好きに変えてね
// エラー出た場合はこのログファイルに詳細が書かれます
OPTION LOGPATH = "C:\logudenasi.log"
PUBLIC G_ARGSFILE = "args.txt"
// 処理時間は調整してね(秒)
PUBLIC 処理時間 = 3
PUBLIC G_WID
main()
PROCEDURE main()
DIM bFlag = TRUE
// 任意のウィンドウをアクティブにした状態でCTRLが押されるまで待機
WHILE bFlag
IFB GETKEYSTATE(VK_CTRL) = TRUE THEN
G_WID = GETID(GET_ACTIVE_WIN)
bFlag = FALSE
ENDIF
SLEEP(0.02)
WEND
// パラメータの読み込みとボタン押すやつ
FncReadFileAndExcute(G_ARGSFILE)
FEND
PROCEDURE FncReadFileAndExcute(args)
DIM strFiles[1]// ファイル名格納配列
DIM strParams[1]// パラメータ格納配列
DIM fID// 読み込みファイルID
DIM iRows// 読み込みファイル行数
TRY
fID = FOPEN(args)
iRows = FGET(fID,F_LINECOUNT)
RESIZE(strFiles, iRows)
RESIZE(strParams, iRows)
FOR i = 0 TO iRows
strFiles[i] = FGET(fID,i+1,1)
strParams[i] = FGET(fID,i+1,2)
NEXT
FINALLY
FCLOSE(fID)
ENDTRY
// ボタンキャプションが不明だったので取得
GETITEM(G_WID,ITM_BTN)
FOR i = 0 TO iRows
// 1つ目のテキストボックスにファイル名を
SENDSTR(G_WID,strFiles[i],1,TRUE)
// 2つ目のテキストボックスにパラメータを
SENDSTR(G_WID,strParams[i],2,TRUE)
//ボタンを押す
CLKITEM(G_WID,ALL_ITEM_LIST[0])
SLEEP(処理時間)
NEXT
FEND
No.2
- 回答日時:
うまくやれば、UWSCのような自動化ツールを使ったり、WindowsMessageを使って貼り付けたりで、対応できるかもしれません
No.1
- 回答日時:
バッチ処理をするためにはこのプログラムが初めから引数を引っ張れるようなプログラムでなければできません。
開いて、情報を書き込んで、ボタンを押すという作業のリクエストが有る以上は無理でしょう。そのプログラムが貴方が書いて物であるのならその部分を自動読み取りにすることでバッチ処理ができるようになります。でも他の人のプログラムなら難しいですね。この回答への補足
やはりそうですか,
一応ソースコード(VisualStudioで作ったらしい)はあるのですが,
プログラミング自体あまり得意ではなく,またC#なんて触ったこともないので困っていることろです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- システム CPUの問題について 2 2022/07/09 12:04
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あっち向いてホイのプログラム...
-
VB 電卓 メモリー機能
-
VBでのシューティングゲーム
-
Excel VBA での処理時間計測結...
-
小数点を含む数値かどうか判断...
-
符号付きにすべきか、符号なし...
-
Excel VBAにて、2GB超の点群デ...
-
Macターミナルで実行中のプログ...
-
フレームワーク「4.8.1」で、[S...
-
メッセージボックスのボタン名変更
-
VBSの処理中一旦処理を止めて再...
-
VBAの配列サイズとメモリに関して
-
プロセスのアタッチ・デタッチ...
-
バックグラウンドのプロセスの...
-
VBA kernel32 の意味
-
if ( a & b == b )
-
プロダクションコードとは?
-
C言語で、メモリを解放しないで...
-
CPU負荷率の安全な上限と計...
-
エクセルのvbaで検索ボタンを作る
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
win10で、正確な待ち時間の作り方
-
Excelでのセル内容の高速消去方法
-
Excel VBAにて、2GB超の点群デ...
-
小数点を含む数値かどうか判断...
-
プログラム上のCPU稼働率低減に...
-
SQLの速度をあげるには・・・
-
DoEvents関数って何?
-
基本情報技術者試験詳しい方へ...
-
実行時のCPU使用率を増やしたい
-
VC++2010 GDIオブジェクトの解...
-
C言語 時刻差分の算出方法
-
ナップザック問題?をエクセル...
-
Excel(VBA)でSetTimer関数を使...
-
エクセルVBA 時間抜けの取得
-
VBでの簡易電卓の作成(減算方...
-
ノットイコールを教えて下さい
-
If Not c Is Nothing Then ~延...
-
Excel VBA データ削除の高速化
-
絶対パスの取得について
-
テキスト処理の速度の速い言語
おすすめ情報