ABからDOSコマンドを

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ABからDOSコマンドを

そうなんですか?やってみます。

by いとちゃん » 2008年5月22日(木) 08:14

OSAMUさんへのコメントです。

このスイッチをつけることで、システムからの質問が消えますか?

やってみます。

ありがとうございます。

DOSコマンドラインのスイッチについて

by omasu » 2008年3月11日(火) 23:35

お世話になります。

 DOSコマンドの基本的なスイッチを使用すれば回避できると思われます。
 コマンドラインの後ろに下記スイッチを指定してください。

> 1)同じファイル名があると聞かれる

  /Y

> 2)全消ししようとするといいですかと聞かれる

  /Q

すばらしくうまくいきました。ありがとうございます。

by いとちゃん » 2008年3月10日(月) 17:09

みなさんのおかげで目的達成できました。

ただ、1)DOSコマンドのコピーをしている際や
2)DELをする際に

1)同じファイル名があると聞かれる
2)全消ししようとするといいですかと聞かれる

ことが発生しました。仕方ないですね。


ありがとうございました。スッキリです。

by ゲスト2 » 2008年2月10日(日) 01:56

winアプリを使ってdosコマンド機能を実現しましょうというのは言い方はともかく、素直な意見だと思います

「言葉の表現」からするとゲストでなくてもよいのでは

dosコマンドの機能を包括し、関数たちをわかりやすいdos記述で、winアプリで作成すればいいのかな?


 フォルダの作成   Mkdir(”パス¥フォルダ名”)
 ファイルのコピー  Copy(”パス¥フォルダ¥ファイル名”,”パス¥フォルダ¥”)
 ファイル内容の表示 Type(”フォルダ¥ファイル名”)

理想論でした。

これ!かなりいいです。なるほど。

by いとちゃん » 2008年2月10日(日) 00:58

意外と簡単なようで、分かりませんでした。
ありがとうございます。


> お世話になります。
>  バッチファイルを作ってから一括処理するのも面白そうですね
>

コード: 全て選択

#N88BASIC
> 
> Open "TEST.BAT" For Output As #1
> 
> Print #1,"MKDIR C:\TEST"
> Print #1,"COPY C:\WORK\*.* TEST\"
> 
> Close #1
> 
> Exec "TEST.BAT"
> 
> End
> 

by konisi » 2008年2月06日(水) 22:32

> せっかくなので、Dosを捨ててWinアプリで作りませんか?

DosにもWinアプリにも、それぞれ利点と欠点があると思います。
挙げるなら、例えばDosを使う場合は新しくコードを書く量が少なくてすむとか、汎用性が低いとか
Winアプリの場合は汎用性がいいとか、ソースコード量が増える→(いろいろな意味で)資源を無駄にしてしまうとか

都合のいいほうを選ぶのがいいのでは?

Re: ABからDOSコマンドを

by omasu » 2008年2月06日(水) 22:13

お世話になります。

 > せっかくなので、Dosを捨ててWinアプリで作りませんか?

そうですねとも、そうでないとも言えます。

 ベーシックを捨ててC言語で作りませんか?と同様に
 自由を失ったらつまらないと言えます。

アクティブベーシックにできることは無限の可能性があると感じます。
 

Re: ABからDOSコマンドを

by ゲスト » 2008年2月06日(水) 14:54

せっかくなので、Dosを捨ててWinアプリで作りませんか?

ABのメニューからヘルプ(H)HELP->トピックス(T)でActiveBasicライブラリ(HELPファイル)を開きます。
目次->リファレンス->Win32AIP->システムサービス->ファイル
でファイル操作に関するAPIが見えます。

ファイルをコピーするには、CopyFileを使用します。

ワイルドカードは使えなかったと思います。
その場合はFindFirstFileでファイル一覧を取得し、CopyFileで順次コピーする事になると思います。
面倒なようですけど、ABでWinアプリを作るには避けて通れない道です。
.Netなら便利なAPIがたくさん有るんですけどね。

DOSコマンド

by omasu » 2008年2月05日(火) 22:13

お世話になります。

 バッチファイルを作ってから一括処理するのも面白そうですね

コード: 全て選択

#N88BASIC

Open "TEST.BAT" For Output As #1

Print #1,"MKDIR C:\TEST"
Print #1,"COPY C:\WORK\*.* TEST\"

Close #1

Exec "TEST.BAT"

End

by konisi » 2008年2月05日(火) 21:55

調べてみると、cmd.exeやcommand.comのコマンド「/C」を使うと出来そうです。
cmd.exeはWin9x系には入っていないと思うので、OSのバージョン確認を最初にしておくべきかもしれません。

構文: cmd.exe /C コマンド

例1

コード: 全て選択

Dim buf As *Byte,command As *Byte
' ...
wsprintf(buf,"/C %s",command)
Exec "cmd.exe",buf
例2

コード: 全て選択

#console
Dim A$ As String,buffer As *Byte
Print "Input Command"
Input A$
A$="/C "+A$
buffer=StrPtr(A$)
Exec "cmd.exe",buffer
Sleep(-1)

ABからDOSコマンドを

by いとちゃん » 2008年2月05日(火) 20:37

先日、ディレクトリを作ることをおかげさまで教えていただきました。
でも、そのときの関数は「createdirectry」であり、フォルダ作成のみが
可能でした。

copy

type

などのDOSコマンドをコンパイルされたABオブジェクトから実施することは
可能なのでしょうか?

達人の皆様ご指導お願いいたします。

例)
testと入力するとtestフォルダをつくり、workにあるすべてのファイルを
コピーする。
createdirectory c:\test
copy c:\work\*.* c:\test

ようなことをしてみたいのです。このときのc:\testは、変数となるため
ABでしたいのです。

ページトップ