人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ブラウザ上に設置したボタンclickでVBScriptを使ってファイルコピーをしようとしています。

最終的にはサーバ上の所定のフォルダ(\\servername\d\test\sample.xls)から
操作している端末(\\端末名\d\test)へとコピーするようにしようとしていますが
とりあえず下記のように単純な例から動作確認を行っています。
ですがどうしても「指定されたファイルが見つかりません」のエラーが出てしまいます。

下記のpath0(コピー元)とpath1(コピー先)の書き方をいろいろ変えて
(例えばサーバフルパスからサーバフルパスへコピーとか、
端末名含むフルパスから端末名含むフルパスへコピーとか
ドライブ名から始めるとか)
それに合わせてファイルやフォルダを配置してテストしてみてますが、
すべて「指定されたファイルが見つかりません」となります。

何かパス指定に問題があるのでしょうか。ご教示願います。


path0 = "\\端末名\d\test0\sample.xls"
path1 = "\\端末名\d\test1"

Set objWS = CreateObject("WScript.Shell")

cmd = "copy " & path0 & " " & path1
msgbox cmd '確認用

objWS.run(cmd)


●質問者: kon39392
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●33ポイント

そのパスが 有効じゃないということでしょう。

パスを ローカル内だけで 設定して 実行できるか確認してみたらいいですね。

というか ブラウザから実行じゃなく、単独に実行させても ダメなんですか?


きゃづみぃさんのコメント
もしかしたらサーバー内の実行をしてるのかなーー?

質問者から

ためしにローカルにvbsファイルを作って、上記を記述し、

path0="d:\test1\sample.xls"
path1="d:\test2"

などとして実行しても「指定されたファイルが見つかりません」となります。

自分でも「間違っているとしたらパスの指定方法くらいだろうな」と思い、いろいろ試しつつ考えられる可能性をつぶし、それでもわからなかったので質問させていただいております。

もしパス指定が間違ってないとして、例えばAdministrator権限の問題とかもあるのでしょうか。


2 ● TransFreeBSD
●33ポイント

copyコマンドはcmd.exeの内部コマンドのため直接実行できません。

cmd = "cmd /C copy " & path0 & " " & path1

このようにcmd.exeから実行してください。
このとき/Cスイッチでなく/Kスイッチを用いるとコマンドプロンプトが閉じませんのでデバッグに便利です。


3 ● ku__ra__ge
●34ポイント ベストアンサー

ローカルのファイルを扱う場合はid:TransFreeBSDさんの方法で問題ないと思いますが、コマンドプロンプトは基本的に"\\端末名\d\test"書式のパスをサポートしていないためネットワーク上のファイルコピーには向いていません。
特にcopyコマンドにこだわる理由がないのであれば、FileSystemObjectを利用するとよいかと思います。

<html>
<head>
<script language="VBScript">
<!--
path0 = "\\端末名\d\test0\sample.xls"
path1 = "\\端末名\d\test1"

Sub RunCopy()
Set fso = CreateObject("Scripting.FileSystemObject")
Call fso.CopyFile(path0, path1, True)
MsgBox "success."
End Sub
-->
</script>
</head>
<body>
<input type="button" value="copy" onclick="RunCopy()">
</body>
</html>

質問者から

ご回答ありがとうございます。

ku__ra__ge様にご提案頂いたCopyFileを使用した方法で
サーバ上から端末へのファイルコピーが実現できました。

ちなみにコピー先のパス指定は
path1 = "\\端末名\d\test1"
の末尾に\まで指定する必要がありました。

もしかして末尾の\まで指定するとcopyも動いたのかなと思い
copyの方も改めて試しましたが、やはり「指定されたファイルが..」でした。

とりいそぎやりたいことが実現できたので解決です。
皆様ありがとうございました。


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ