VBSによるファイルコピー

このQ&Aのポイント
  • 【要約1】VBSを使用してファイルをコピーする方法について教えてください。
  • 【要約2】VBSからファイルを異なる場所に移動する方法を教えてください。
  • 【要約3】VBSから自分と同じフォルダにあるファイルを移動する方法を教えてください。
回答を見る
  • ベストアンサー

VBSによるファイルコピー

教えてください。 Aフォルダの中にファイルが3つ有るとします。 あ.jpg い.jpg COPY.VBS Aフォルダ内 COPY.VBS を実行すると、 あ.jpg→C:\ い.jpg→C:\PIC とファイルを異なる場所に移動したいのです。 上記の処理をする場合、Aフォルダがどちらか 決まった場所に置いて有る(C:\等)の場合は 解るのですが、実行者がAフォルダをどこに 置き実行するか解りません、VBSから見たときに 自分(vbs)と同じフォルダに有るファイル と言うパスで上記のファイル移動を実現する事は 可能でしょうか? 以上よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>移動先がc:\以外だとエラーになってしまいます。 移動先がフォルダの時には最後に'\'を付けてください。 例 fso.MoveFile ".\い.jpg","c:\PIC\" あと、気になってたんですが、 MoveFileは、移動なので、元のファイルはなくなります。(質問文で移動したいと書いていたのでそうしました) コピーしたい場合は、(COPY.VBSというコマンド名からはコピーしたいのかもしれないと思いました) CopyFIleを使ってください。ファイルの指定の仕方は同じです。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

フルパスで指定しなくても単純に以下のようにカレントフォルダ指定でファイル移動ができます。(移動先に同じファイルがあるとエラーになるので注意) Dim fso Set fso = WScript.CreateObject("Scripting.FileSystemObject") fso.MoveFile ".\あ.jpg","c:\"

mark_proud
質問者

補足

ありがとうございます。早速試したのですが、 移動先がc:\以外だとエラーになってしまいます。 パスの書き方が下手なのでしょうか?

関連するQ&A

  • ファイルをコピーするvbs

    ファイルをコピーするvbsってどう書けばよいのでしょうか? このvbsを実行すると、その後貼り付けでファイルがペーストされるように、クリップボードにファイル自身をコピーしておきたいです。 出来れば.NET不要でvbsファイルのみで実現出来るとありがたいです。

  • vbsスクリプトについて

    いつもありがとうございます。 実行するVBSファイルのカレントディレクトリを取得して、同じディレクトリにAフォルダがなければ Aフォルダを作成するといった下記処理を考えております。 Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FolderExists(Path) = True Then objFSO.DeleteFolder (Path) objFSO.CreateFolder (Path) Else objFSO.CreateFolder (Path) End If Pathの変数にAフォルダまでのフルパスを入れたいのですが 実現できるソースをアドバイスいただけませんでしょうか。 Path = objFSO.CreateFolder (".\A") でパスは取得できるのですが、フォルダの存在チェックの前にフォルダが作られるため だめでした。。 宜しくお願い致します。

  • VBSで作成したフォルダにファイルをコピー出来ない

    いつもお世話になっております。 表題に関してなのですが、VBSでFileSystemObjectを利用してフォルダを作り、 そのフォルダにファイルをコピーするという内容のスクリプトを作成しています。 ですが、フォルダは無事に出来るのですが、ファイルをコピーしようとすると、 「書き込み出来ません」 と出て、コピーされません。 fso.CopyFileのところで、エラーが発生してるようです。 CopyFileメソッドの代わりにCopyコマンドで実行するように記述すると 問題なくコピーされます。 解決方法等ございましたら、ご教授ねがいます。

  • ファイル名を指定して実行から拡張子なしでファイルを指定

    c:\scriptsフォルダ内に.vbsをファイルを置いています。c:\scriptsフォルダは環境変数に登録してあります。 パスは入れなくてもいいのですが、ファイル名.vbsまで入れないと実行できません。.vbsを入れなくても「ファイル名を指定して実行」から実行できるようにはなりませんか?

  • バッチファイル→vbsへのカレントディレクトリ情報引渡をしたいです。

    バッチファイル→vbsへのカレントディレクトリ情報引渡をしたいです。 あるフォルダにvbsファイルとそれを実行するためのバッチファイル、vbsで読み込むリストファイルを置いています。 これを現在ログインしているのとは別のユーザで実行したいのですが、ファイルの記述をすべてフルパス指定しなければ動きませんでした。 しかし、フォルダが変わるたびにすべてのパスを書き換えるのが大変なため、以下のように修正を加えたいと思っています。 (1)バッチファイルでvbsを実行する際、カレントディレクトリ情報を取得し、パスを確定。(CDコマンド) (2)vbsファイル実行 (3)(1)のCDコマンドで読み込んだ情報をvbsに引き渡し、リスト読み込み。 バッチファイルからvbsに引き渡す部分、vbsがバッチファイルから受け取る部分の記述が分かりません。 一例を教えていただけないでしょうか?

  • vbs ファイル検索後、任意の場所にコピー

    vbsにて、以下のようなことを実現したいのですが、よくわからないので、ご教授願います。 ・実現したいこと インプットボックスに検索したいファイル名を張りつけて、検索対象ディレクトリ配下から、ファイルを任意の場所にコピーしたい。 コピー参照元は、3つ別々のディレクトリ配下の中から、一つ指定して、検索としたい。 対象ファイルが見つかったら、保存先をフォルダを指定できるダイアログを表示して、任意の場所にコピーしたい。 vbsでの作成方法がよくわからないので、ご教授いただければ助かります。宜しくお願いいたします。

  • VBSについて

    VBSについて質問です。プログラミング初心者です。 既定フォルダ内のファイルを選択したフォルダ内にコピーするプログラムを組みたく、 色々調べながら作成してみましたが、うまくいきません。 症状として、選択したフォルダではなく、 プログラムを保存しているフォルダにコピーされてしまします。 選択したフォルダに保存するためには、どのようにすればいいでしょうか? また、下記コードがうまくいかない理由も解説もしてくださると大変助かります。 C:\strFrom ←既定のコピー元フォルダ C:\strTo  ←プログラム実行時に選択するコピー先フォルダ C:\VBS   ←プログラムを保存しているフォルダ ※ここにフォルダ名「strTo」で「strFrom」内のファイルが保存される Set objFS = CreateObject("Scripting.FileSystemObject") 'ファイルシステムオブジェクト作成 strFrom = "C:\strFrom" 'コピーするフォルダのパス Set shla = WScript.CreateObject("Shell.Application") 'Shellの呼び出し Set strTo = shla.BrowseForFolder(0, "フォルダを選択して下さい", &H1) 'パス取得 WScript.echo strTo.Items.Item.Path '取得パス確認 objFS.CopyFolder strFrom, strTo 'ファイルコピー

  • VBSを利用して、ファイル名を取得

    VBSを利用して、ファイル名を取得 はじめまして VBSを利用して、ファイルのフルパスを取得したいと思っております。 具体的には、フォルダ内のファイルを1ファイルずつ取得するようなプログラムを 作成したいと思っております。 C:\TEST \2010 \aaa.csv C:\TEST \2010 \bbb.csv C:\TEST \2009 \ccc.csv C:\TEST \2008 \ddd.csv C:\TEST \2008 \eee.csv フルパスを取得したいのですが、どのようにしたら良いでしょうか。 最終的には、上記の読み込んだファイルごとにファイルの中身を1行ずつ確認して、 特定の文字が含まれているか確認をするようなスクリプトにしようと思っております。 そのため、objFS.OpenTextFile("取得フルパス",ForReading)のようにして 取得したフルパスごとに読み込みをしようと思っております。 どなたか、お手数ではございますが、ご教授願います。

  • ファイルコピーVBS

    ファイルコピーVBS ファイルをコピーするVBScriptの書き方を教えてください。 コピー対象ファイルはEドライブのDataフォルダに入っています。 コピー対象ファイルは拡張子がdocかつファイルサイズが1MB以上のファイルだけです コピー先はHドライブのDataフォルダ直下です。 毎週日曜日の午前2時にWindowsのタスク機能等で実行する予定です。 WindowsServer2003R2StandardEditionで実行します。 その他必要な情報があれば言って下さい。 よろしくお願いします。

  • vbsでゴミ箱への移動

    こんにちわ。 vbsであるフォルダ内のファイルを全てゴミ箱に移動させたいのですが ゴミ箱のパスはどう指定したらいいのでしょうか。 初心者的質問ですみません。

専門家に質問してみよう