OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Shellの使い方について

  • 困ってます
  • 質問No.194302
  • 閲覧数301
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 85% (193/225)

VBを最近はじめたのですが、Shellがうまくいかず、困っています。
下記のような内容で、MS-DOS上で動作するプログラムをShellで呼び出していますが、ファイルが見つからないというエラーが出てしまいます。(<D:\kakasi\401.txt:No such file or directory)

com1 = "kakasi.exe " + param + " <" + lbl_open_file + " > " + lbl_save_file
retval = Shell(com1, vbNormalFocus)

kakasi.exeには、パスが通してありますので、lbl_open_fileやlbl_save_fileのファイルが見つからないと思われます。

実行時のcom1の値は、kakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1
になっていて、DOSプロンプトから手入力、実行ではうまくいきます。
何が問題なのか分かる方、教えてください。
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 65% (276/422)

[自信なし]になってますが、[自信全然なし]です。。。

やってみました。たしかに無理でした。
おそらくですが・・・
[<]や[>]は基本的にDOSの機能だから、その機能を操作するにはDOSShellを起動して、パイプを作成し、DOSShellそのものにそれらの文字列を送らないといけないような気がします。
ただそれを実現するには、VBでは不安定要素がいっぱいです。たぶん落ちまくりになるでしょう。
うーん、別方法で実現できるのかなぁ?勉強不足っす。


kakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1
をテキスト形式で"xxx.bat"という名で保存して、"xxx.bat"を実行してはだめ?
DOS窓が見えて、目がシパシパするけど・・・
お礼コメント
hidezo

お礼率 85% (193/225)

お礼が大変遅くなってしまってすみませんでした。
最近VBを始めたんですけど、できないことが多くて挫折ばかりです。(←プログラムの腕が無いだけですけど・・・)
この辺、VCだったらそういう機能があるのかな~?
.batのファイルを自動的に作成させて実行もいいかもしれないですね。
現状のプログラムは、例のkakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1をプログラムでクリップボードにコピーして、DOSプロンプトを開かせて、あとは手動でペーストボタンクリック+ENTERで実行してます。
今度は.batで組んでみます。
情報ありがとうございます。
投稿日時 - 2002-01-22 12:43:44
-PR-
-PR-
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ