裏でファイルのコピー

解決


湯婆婆  2003-07-18 20:15:51  No: 78699

はじめまして。
VBを作成していて、ちょっと行き詰まっています。
プログラムのLoad時に、あるファイルのコピー作業を行っています。
しかしこのファイルは、サイズが少し大きいので時間がかかってしまい、
画面が出るまでかなりの時間を要します。
ファイルコピーの作業を中でも、プログラムはそのまま進める
と言った事は可能でしょうか?

良いアドバイスをよろしくお願いします。


nanashi  2003-07-18 20:26:10  No: 78700

別スレッド(もしくは別プロセス)で作業しない限り無理です。

単に画面を早く表示したいならファイルコピーの前にMe.Showとかすれば
一応フォームは先に表示されると思います。


Say  2003-07-18 21:36:00  No: 78701

>別スレッド(もしくは別プロセス)で作業しない限り無理です。

Shell関数でcommand.com(cmd.exe)のCOPYコマンドを
発行してコピーするとか。


湯婆婆  2003-07-18 23:06:07  No: 78702

>Shell関数でcommand.com(cmd.exe)のCOPYコマンドを....。

すみません。
どうやれば言いのでしょうか?
Shell関数は分かるのですが、command.comとは...?
VB暦4〜5年とまだ日が浅いもので。;


oku  URL  2003-07-20 06:39:14  No: 78703

>VB暦4〜5年とまだ日が浅いもので。;
凄い4〜5年で浅いとは!
まだVB趣味暦2年の自分なんかヒヨッコですね。
command.comとはDOSの事です。
WindowsNT系ではcmd.exeですが。


湯婆婆  2003-07-25 00:18:34  No: 78704

なるほど、あの黒い画面のやつですね。
でもなんだか難しそうなので、
結局、別プログラムでコピーする事にしました。

皆さん、アドバイスありがとうございました。


Say  2003-07-25 00:52:42  No: 78705

>でもなんだか難しそうなので、
たとえば

Shell Environ("comspec") & " /C COPY """ & strFileA & """ """ & strFileB & """"

って  やるだけですが・・・。


湯婆婆  2003-07-25 23:10:18  No: 78706

Sayさんありがとうございます。
でもなかなかうまくいきません。なんの反応も無いんです。
特にエラーも出ないので、間書き方は違ってはいないとは思うのですが。。。
実際にDOSプロンプトからやるとうまくコピーしてくれます。
ファイル名にはダブルクォーテーションが付いていていいんですよね?
もうちょっとがんばってみます。
ちなみに「/C」と言うのは、Cドライブって事ですか?


nanashi  2003-07-25 23:49:03  No: 78707

「/C」はCommand.comのオプションです。
コマンドを実行した後、コマンドプロンプトを終了します。
これを付けないとShellで実行後、Command.comは自動終了しません。


湯婆婆  2003-07-26 01:08:56  No: 78708

なるほど。。。
nanashiさん、ありがとうございます。


oku  URL  2003-07-26 08:41:46  No: 78709

DOSコマンドの構文に間違えがないか確認してみてください。
COPY…の部分をBATファイルやテキストファイルに出力してみるとデバッグしやすいですよ。
イミディエイトでも良いですけど。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加