• 締切済み

ネットワークコンピュータにファイルをコピーする

ローカルドライブにあるファイルを、ネットワークコンピュータの所定のフォルダにコピーしたいのですが、FileCopyではコンピュータ名から始まるフォルダ名若しくはファイル名を使えません。 FileCopy("C:\a.txt","\\Other\C\Data\a.txt") これができるようなAPIとかはないでしょうか? OSは双方ともWindows2000、言語はVisualBasic6.0SP5です。 よろしくお願いいたします。

みんなの回答

回答No.2

下記のようにしてみてはいかがでしょうか? Dim objNet As Object Set objNet = CreateObject("WScript.Network") On Error Resume Next objNet.MapNetworkDrive "Z:", "\\Other\C", False, "Other\ユーザ名", "パスワード" If Err.Number <> 0 Then MsgBox "Z:", "\\Other\C" & " をマウントするのに失敗しました。", vbOKOnly Or vbCritical Else FileCopy("C:\a.txt","Z:\Data\a.txt") objNet.RemoveNetworkDrive "Z:" End If Set objNet = Nothing ※回答するとインデントが消えるの?

noname#102878
noname#102878
回答No.1

具体的にどのようなエラーが出ましたか? 私の環境では正常にコピーすることができます。 書き込み先のフォルダに手動でファイルコピーはできますか? というか、書き込み先のフォルダに権限を持ってますか? ------------------------------------------- Dim strSource As String Dim strDestination As String strSource = "c:\test\hoge.txt" strDestination = "\\Server\test\hoge.txt" FileCopy strSource, strDestination ------------------------------------------- FileSystemObject を使った例 ------------------------------------------- Dim strSource As String Dim strDestination As String Dim fso As Object strSource = "c:\test\hoge.txt" strDestination = "\\Server\test\hoge.txt" Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile strSource, strDestination Set fso = Nothing -------------------------------------------

関連するQ&A

  • ネットワークドライブのファイルをFileCopyできない

    ネットワークドライブにあるLZHファイルをローカルドライブにコピーするために、VB6.0のFileCopy関数を使っています。 Windows2000までは特に問題なかったのですが、XPで「パス名が無効です」の実行時エラーが出ます。 FileCopy "\\He\共有フォルダ\a.txt", "c:\Data\a11.txt" Heには指定のファイルがあり、cドライブにコピー先となるファイルはないので問題ないはずなのですが、コピーできないのです。 OSの問題なのか何なのか見当もつかない状態です。 (ちなみにDosプロンプトで>dir "\\He\共有フォルダ\a.txt"とするとちゃんと見えています。またドライブ接続してG:\とかに変えても同じです。) このような経験がおありの方、小さなことでも構いませんので教えていただけないでしょうか?

  • ネットワーク上のファイルのコピー

    ネットワーク上のファイルをローカルにコピーする為に FileCopy("\\cp1\D$\aaa\a.txt", "d:\b.txt") を実行したところ ファイル名または番号が不正です(エラー52) が出てしまいます ネットワーク上のPCとユーザとパスワードが違うのでログインでエラーになっているのですが ネットワーク上のPCにユーザを登録するのではなく ユーザ名とパスワードを指定してログインしてから ファイルをコピーする方法はありますでしょうか?

  • VBAでネットワークコンピュータのファイルにアクセスできない(XL2000)

    EXCEL2000で、EXCELのファイルと、データ専用のファイルを組にして運用しています。都度データファイルのバックアップを取るために、VBA中でネットワークコンピュータ(LAN)のフォルダにFileCopyしようとするのですが、ファイルが見つからないというエラーが出て、コピー出来ません。しかし、エクスプローラーで一回ネットワークフォルダーを開いてから終了し、再度VBAを実行すると問題なくコピー出来ます(何か道筋が出来るらしい)。 また、WEBで調べてAPIのCopyFileを用いると良いという記事をみて、トライしましたが事態は同じでした。なお、過去の類似の質問で、WindowsXPの場合のMicrosoftの情報が紹介されていましたが、本ケースでは両方のPCともWindows98です。 以上、宜しくお願いします。

  • 特定のファイルだけをサブディレクトリ以下のファイルをディレクトリを作成してコピーする。

    下のように各フォルダ内にreadme.txtファイルだけを特定のフォルダ内に コピーしたいのですが、ファイル名が同じなので、元のフォルダ階層のように フォルダを作成して、そのファイルだけがコピーされるようなfindを使った 器用な方法はできるのでしょうか? 私は、次の段階で躓いて折ります。 find ./ -name ".forward" execを使い方法は、 find img/ -type d -exec chmod 604 {} \; のようなことは使ったことはありますが、通過したフォルダを作成して、ファイルをコピーする ような方法はどのように記述したらよいか、わかりません。 A +-- a1.txt | a2.txt | readme.txt B +-- b1.txt | b2.txt | readme.txt C +-- c1.txt c2.txt readme.txt

  • javaのファイルコピーについて教えてください。

    javaプログラミング初心者の者です。 javaでファイルをコピーし、コピーしたファイルを出力したいのですがどのようにしたよいかわかりません。 以下のように実行したら、ファイルをコピーし、コピーしたファイルを出力するといったものです。 実行例: java実行ファイル名 コピー元ファイル名 コピー後のファイル名 (java FileCopy copysarelu.txt copysareta.txt) ※copysarelu.txtはすでに存在し、copysareta.txtは任意の名前で作成します。 どなたかアドバイスまたは、参考URLなどをご紹介いただけますでしょうか?お願いします。

  • ファイルのコピーについて

    次のようにファイル名が記述されている、テキストファイルがあります。 「A.xls,B.txt C.doc,D.xls,E.pdf」 行と行はEnterで改行されており、ファイ名は「,」で区切られています。 この状態で、最後の行の複数のファイルを特定のフォルダにコピーするにはどのように記述すればいいですか?

  • ネットワーク上のコンピュータのファイルを起動させる

    ネットワーク上のコンピュータにある、あるディレクトリに移動し あるファイルを実行する といったバッチファイルは作れますか。 ローカル内であれば cd /D C:\ xxxxxx.exe ですが cd /D \\xxxx.xxxx.xxxx.xxxx みたいなことができるコマンドはあるのでしょうか。

  • 条件にあった特定のファイルのフォルダ名を得る

    よろしくお願いします。 階層的に存在するファイル(すべて同名)で、条件にあった記述がされているファイルのフォルダ名を得たいのですが、どのような方法が考えられるでしょうか? 漠然とした質問で申し訳ありません。 例えば、 TEST--+--A--TEST.txt      |      +--B--TEST.txt      |      +--C--TEST.txt というフォルダ階層でフォルダ"/TEST/A~/TEST/C"があり、それぞれ"TEST.txt"というファイルを持っているとします。 その中の"/TEST/B/TEST.txt"だけ"dummy"という記述が1行あったとするとき、フォルダ名"/TEST/B"を抽出したいのですが何か良い方法はあるでしょうか? (実際の各フォルダ名は規則性なくかなりの量があります) サーバー・・・HP-UX CGI開発言語・・・Perl5 開発端末・・・windows2000(Tera Term 使用) 以上、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • バッチファイルで、ファイル名から自動振分したい

     C:\B\の中に、必ず「半角数字4桁_」から始まるファイル名のデータが毎週入ります。  「半角数字4桁_」以後のファイル名、拡張子は、その週によって変わります。  C:\A\の中には、必ず「_半角数字4桁_」で終わるフォルダ名のサブフォルダがあります。  このフォルダ名は、ずっと変わることがありません。  C:\B\の中にあるデータを、ファイル名の最初の4桁の数字をもとに、C:\A\にあるサブフォルダに自動で移動したいです。また、移動する際に、既にサブフォルダ内に「半角数字4桁_」から始まるファイル名のデータがある場合は、削除してから移動したいです。 フォルダ構成です。 Cー|    |-【A】    |   |-【あいう_1234】    |  |-【あい_2235】    |   |-【かきくけ_8990】    |   |-【アイウエオ_5014】    |    |-【B】    |   |-1234_ABC.txt    ←このファイルは C:\A\【あいう_1234】に。    |  |-2235_1534.txt   ←このファイルは C:\A\【あい_2235】に。    |   |-8990_22.doc     ←このファイルは C:\A\【かきくけ_8990】に。    |   |-5014_わをん.doc   ←このファイルは C:\A\【アイウエオ_5014】に。   自分でバッチファイルを記述してみたのですが、ここからどうしていいか分かりません。  どなたか教えてもらえないでしょうか? よろしくお願いします。    自分で記述してみたバッチファイルです。 cd C:\B dir /b > C:\C\list.txt set folder=C:\A set file=C:\B set Bat=C:\C for /f "delims=" %%a in ( %Bat%\list.txt ) do if exist "%file%\%%a" move "%folder%\%%a" "%to%" PAUSE > NUL

  • テキストファイルを一つにまとめる

    一つののフォルダ内に複数のテキストファイルがあります a.txt b.txt c.txt があり内容はそれぞれ 日付 商品名 数量と同一項目にしてあります これを同じフォルダに自動で一つのファイルにまとめる方法はありませんか 超初心者です よろしくお願いします

専門家に質問してみよう