フォルダ以下をコピーについて

解決


ガオ~  2020-08-16 10:46:41  No: 149002

毎々お世話になりありがとうございます。
以下の環境でプログラム作成しています初心者です。

C:\TMP以下にあるファイル、フォルダ全てを
F:\ にコピーするプログラムを作ろうしています。
TFileStream.Create
TFileStream.Create
を使っているのですがうまくいきません。
何か簡単にできる方法はあるのでしょうか。

アドバイスを頂けましたらとっても助かります。
よろしくお願いいたします。

Delphi Tokyo Enter 64bit
Windows 10 PRO


HFUKUSHI  2020-08-16 12:00:38  No: 149003

このあたりですかね?

System.IOUtils.TFile のメソッド - RAD Studio API Documentation
http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.IOUtils.TFile_Methods

System.IOUtils.TDirectory のメソッド - RAD Studio API Documentation
http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.IOUtils.TDirectory_Methods

System.IOUtils.TPath のメソッド - RAD Studio API Documentation
http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.IOUtils.TPath_Methods


ガオ~  2020-08-16 12:20:41  No: 149004

HFUKUSHIさん ご指導ありがとうございます。

http://www.enjoy.ne.jp/~ogu/tips/copy.html
上のサイトで試してみたのですが
C:\TMP直下の全ファイルは F:\ にコピーできたのですが
C:\TMP\直下にあるフォルダ( \TEST )と
TEST直下にあるファイルのファイルのコピーができませんでした。

HFUKUSHIさんのご紹介して頂いたサイトは具体的にどれが参考になるのでしょうか


Mr.XRAY  2020-08-16 16:09:25  No: 149005

http://www.enjoy.ne.jp/~ogu/tips/copy.html
> 上のサイトで試してみたのですが

これは HFUKUSHI さんが教えてくれたメソッド類を使用していませんね.

> HFUKUSHIさんのご紹介して頂いたサイトは具体的にどれが参考になるのでしょうか

ページをご覧になりましたか ?
ページを表示したら,今回の場合は copy, コピーなどで検束します.

質問の内容から,ファイルやディレクトリの操作が必要と解釈できます.
それなら,関係するメソッド類が掲載されている記事のページを提示した方が親切です.
折角のオンラインヘルプです.大いに活用したいですね.


Mr.XRAY  2020-08-16 16:28:36  No: 149006

> ページを表示したら,今回の場合は copy, コピーなどで検束します.

右上のエンバカデロのオンラインヘルプの検索ではなく,
ページ内の検索の意味です.,念のため.
多くのウェブブラウザでは [Ctrl] + [F] です.


Mr.XRAY  2020-08-16 16:56:19  No: 149007

http://www.enjoy.ne.jp/~ogu/tips/copy.html
> 上のサイトで試してみたのですが

上記のページの作者の名誉のため,断っておきますが,
SHFileOperation 関数でもサブディレクトリ階層下を含めたコピーは可能です.
問題は,どのような処理コードで実行したかによります.

プログラムは,コードを書いて,それを実行することにより処理します.
その肝心のコードが不明な限り何とも言えません.


ガオ~  2020-08-17 09:52:50  No: 149008

Mr.XRAYさん、HFUKUSHIさんアドバイスありがとうございました。
ご提供いただいた資料でなんとか
ごちゃごちゃコーディングをして
一応完成しました。
ちょっと眠たい・・・
本当にありがとうございました。
今後ともよろしくお願いいたします。


Mr.XRAY  2020-09-02 20:58:48  No: 149113

「ごちゃごちゃコーディングをして」だけだと,ちょっと,
なので,手前味噌ですが参考コードです.
ググると他のウェブサイトにもサンプルコードがあります

多くの場合,ディレクトリとフォルダは同意味ですが,
 [ ライブラリ ] のような特殊フォルダは,
 ディレクトリ名 ( フルパス ) に変換する必要があります.

[ 09_ディレクトリのコピー ]
http://mrxray.on.coocan.jp/Delphi/plSamples/817_DirFileListTest.htm#09

SHFileOperation は,この掲示板にも具体的なコードがあります.

※ [ コミュニティの場は give & take ( ギブ・アンド・テイク ) ]
※ http://mrxray.on.coocan.jp/Delphi/Others/013.htm#04


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








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