
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
win10で、正確な待ち時間の作り方
-
Excelでのセル内容の高速消去方法
-
VBでの簡易電卓の作成(減算方...
-
小数点を含む数値かどうか判断...
-
ノットイコールを教えて下さい
-
Excel(VBA)でSetTimer関数を使...
-
Excel VBA データ削除の高速化
-
絶対パスの取得について
-
VBS でプログラムを先頭から再試行
-
DoEvents関数って何?
-
.netからexcel操作の処理速度が...
-
WindowsMessage(ウィンドウメッ...
-
OSSemCreate関数に引数”1”と入...
-
numpyスライス機能を使った数値...
-
見やすい・メンテしやすいプロ...
-
大学のプログラミングの課題に...
-
C言語:関数を使うメリットとデ...
-
VC++2010 GDIオブジェクトの解...
-
ソケットからの入力をWaitForMu...
-
wavelet変換のソフト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでのセル内容の高速消去方法
-
win10で、正確な待ち時間の作り方
-
Excel VBAにて、2GB超の点群デ...
-
小数点を含む数値かどうか判断...
-
あっち向いてホイのプログラム...
-
プログラム上のCPU稼働率低減に...
-
DoEvents関数って何?
-
SQLの速度をあげるには・・・
-
テキストファイルの空行をスキ...
-
Excel VBA データ削除の高速化
-
ナップザック問題?をエクセル...
-
If Not c Is Nothing Then ~延...
-
絶対パスの取得について
-
ノットイコールを教えて下さい
-
符号付きにすべきか、符号なし...
-
実行時のCPU使用率を増やしたい
-
基本情報技術者試験詳しい方へ...
-
Excel(VBA)でSetTimer関数を使...
-
VC++2010 GDIオブジェクトの解...
-
テキスト処理の速度の速い言語
おすすめ情報