前回(先月?)はお世話になりました。またVB.NETについてお聞きします。
フロッピー等からフォルダごとコピーすることはできないんでしょうか?
「フォルダを作成する」、「ファイルをコピーする」といったことはなんとか
調べられたんですが… 相変わらず稚拙かもしれませんが…↓
'テスト
If System.IO.Directory.Exists("D:\TestFolder") = False Then
System.IO.Directory.CreateDirectory("D:\TestFolder")
FileCopy("A:\Test.mdb", "D:\TestFolder\Test.mdb")
End If
できればTest.mdbを含めたTestFolderごと保存されている状態の
フロッピー等からフォルダごとコピーしたいんですが。
調べ方が、甘い気がします。
「フォルダ コピー VB.NET」をキーワードにgoogleで検索したら
すぐ下記のようなページが見つかりました・・・。
http://dobon.net/vb/dotnet/file/copyfolder.html
dos のXcopy を使ったらどうかな。
xcopy folder \newfolder\*.* /s
これでいけると思うが、
Dim FromCopyFolder As String = "c:\hoge\*.*"
Dim ToCopyFolder As String = "c:\newhoge\*.*"
Dim PStartI As New System.Diagnostics.ProcessStartInfo
Cursor.Current = Windows.Forms.Cursors.AppStarting()
PStartI.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
PStartI.RedirectStandardOutput = True 'Outをリダイレクト
PStartI.UseShellExecute = False 'リダイレクトを可能にする
PStartI.CreateNoWindow = True 'Dos窓非表示
PStartI.Arguments = "/c xcopy " + FromCopyFolder + " " + ToCopyFolder + " /s" '/c は必要
Dim MyProcess As Process = Process.Start(PStartI)
Dim ReturnString As String = MyProcess.StandardOutput.ReadToEnd
TextBox1.Text = ReturnString
MyProcess.WaitForExit()
Cursor.Current = Windows.Forms.Cursors.Default
Dosを操作するのでしたら、http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200508/05080007.txt
を呼んでみてはどうでしょうか?
途中中断が可能になります。
皆様レスありがとうございます。皆さんからいただたアドバイスを参考に
一通り検証してみました。
いなさん
>調べ方が、甘い気がします。
仰るとうりでした。リンク先のサンプルをほぼそのまま抜粋するような形で
試したところ、思惑通りの動作をしてくれました。
ねろさん
>dos のXcopy を使ったらどうかな。
>xcopy folder \newfolder\*.* /s
とりあえず
Shell("xcopy a:\TestFolder d:\TestFolder\*.* /s")
と記述して試したところうまく動いてくれました。
ただ、元々コマンドプロンプトとかもよく分からない状態だったので
*.*(全て?)の使い方がよく分かりませんでした・・・
「フロッピー内のフォルダごと全部Dドライブ直下にコピー」と考えた時
フォルダごと全部→a:\TestFolder\*.*、Dドライブ直下に→d:\ などと
考えてみた結果 xcopy a:\TestFolder\*.* d:\ /s のような記述をしてみたり・・・
最終的には↑で落ち着きました。あと/sについてはコマンドプロンプトで
help xcopyで見ました(サブディレクトリもコピー)
我龍院忠太さん
>これでいけると思うが、
バッチリいけました。
まんま抜粋してFromCopyFolder,toCopyFolderだけ変えただけでした。
ただ上記と同じで、こっちは両方に*.*つくのか?とやはり同じところで
考え込んでました。今後はこちらの方も少しずつ勉強します。
マグさん、すいません。午後ずっと画面更新してなかったもので…
さっそく読んでみます。
すんません orz
ねろ = 我龍院忠太 です。
HMがどこかで被った気がするので、とりあえず替えてます。
すいません、解決策教えていただいたのに解決チェックいれてませんでした。
>ねろ=我龍院忠太さん
お気になさらないで下さい。どちらにしてもその2つのアドバイスにより
私が貴重な勉強させていただいた事に変わりありませんから。
ツイート | ![]() |