
こんにちは。
仕事でVBScriptを用いて定例作業を自動化させようと考えております。VBScriptの本を読んだり、パソコンで調べながら進めているのですが、初めてのことでなかなかうまくいきません。大変恐れ入りますが、どなたか教えていただけないでしょうか?
実行したい処理は以下のとおりです。
・月初に特定のフォルダにある特定のファイルをバックアップ用フォルダにコピーしてリネームする。
・リネームルールは「元ファイル名_前月月(mm).元拡張子」。
上司から催促され困っています。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
VBScript というよりも、FileSystemObject というコンポーネントの使い方について調べた方が良いね。
「リネームしながらコピー」は FileSystemObject オブジェクトの CopyFile メソッドでも良いけれど、対象ファイルを File オブジェクトとして参照していれば、File オブジェクトの Copy メソッドも利用できるし、新しいファイル名も File オブジェクトのプロパティを利用して加工できる。
abcd.txt の "abcd" の部分は FileSystemObject の GetBaseName メソッドで取得可能。
".txt" の部分は FileSystemObject の GetExtensionName メソッドで取得可能。
パス文字を組み立てる場合は単純な文字列結合でも良いが、FileSystemObject の BuildPath を使えば区切り文字を自動的に挿入してくれる。
何がうまくいかないのか全く想像できないので断片的に書いてみました。 参考程度に。
' コピー先フォルダーのパス
Dim destDirPath
destDirPath = "C:\backup"
' FileSystemObject
Dim fso
Set fso = CreateObject
' 前月の月 (mm) を生成
Dim previousMonth
previousMonth = Right("0" & Month(DateAdd("m", -1, Date)), 2)
' ここから下を「特定のフォルダー内にあるファイル群のうち、特定の条件に合致するファイル」 がある限りループさせる。
' コピー元ファイルを参照
Dim sourceFile
Set sourceFile = fso.GetFile("コピー元ファイルのパス")
' リネームしながらコピー
Dim newFilePath
newFilePath = fso.BuildPath(destDirPath, fso.GetBaseName(sourceFile.Name) & "_" & previousMonth & fso.GetExtensionName(sourceFile.name))
sourceFile.Copy newFilePath, True
No.1
- 回答日時:
特定のフォルダからファイル一覧をとる
https://msdn.microsoft.com/ja-jp/library/cc42810 …
目的のファイル名であるか調べる
https://msdn.microsoft.com/ja-jp/library/cc39242 …
コピーしてリネームする
https://msdn.microsoft.com/ja-jp/library/cc42801 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のエクセルファイルが止ま...
-
エクセルのハイパーリンクがコ...
-
frxファイルの役目
-
ファイルをコピーできない
-
[エクセル]コピーするとオブジ...
-
「ファイルが見つかりません D...
-
FTPとファイルコピーの違いにつ...
-
Vba初心者です。下記のコード助...
-
エクセルで複数のコメントのサ...
-
ファイルサーバ上のファイルが...
-
4時間
-
bat 同名ファイルコピー時にリ...
-
EXCELの書式設定のユーザー定義...
-
バッチファイル XCOPYで上書き...
-
開いている別のファイルにExcel...
-
エクセル 同じデータなのに違う...
-
Accessファイルをコピーすると...
-
batでのスタートアップです
-
VB.NETでのネットワーク参照
-
VB6で、Form1をコピーする方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
ファイルサーバ上のファイルが...
-
Vba初心者です。下記のコード助...
-
エクセルのハイパーリンクがコ...
-
同じファイル名 上書きしないフ...
-
xcopyでのバッチコピー方法でコ...
-
バッチファイル 別ファイルにリ...
-
[エクセル]コピーするとオブジ...
-
vbsでファイルやフォルダのコピ...
-
バッチファイルのコピーで
-
バッチファイル XCOPYで上書き...
-
現在のブックを閉じないで、マ...
-
bat 同名ファイルコピー時にリ...
-
エクセル2010、図が大きすぎま...
-
アクセス クエリを別のファイ...
-
ハイフネーションされている英...
-
特定のエクセルファイルが止ま...
-
マインクラフトPCをプレイしよ...
-
パワポでスライドをコピーでき...
おすすめ情報