ここから本文です

VBScriptで、あるフォルダにある「aaa」で始まるファイル名のみをコピーまたは移動...

sya********さん

2011/6/1816:10:43

VBScriptで、あるフォルダにある「aaa」で始まるファイル名のみをコピーまたは移動は可能でしょうか?
フォルダ内すべてのテキスト「\*.txt」をコピーするなどは普通にできるようなのですが・・・。

【例】C:\tempにある以下のテキストファイルのうち、「aaa_0618.txt」だけをC:temp2へコピーもしくは移動したいというようなイメージです。(_yymmの部分は不定)
abcdefg.txt
aaa_0618.txt
bbb_0618.txt

初心者で申し訳ございませんが、なにとぞ宜しくお願いいたします。

閲覧数:
5,512
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

riv********さん

2011/6/1816:39:31

Dim FSO, FLD, FLC, FL
Dim 対象FLd As String
対象FLd = "C:\temp"
Set FSO = CreateObject("Scripting.FileSystemObject") ' FileSystemObjectの仕様を宣言
Set FLD = FSO.getfolder(対象FLd) ' 対象のフォルダーをFLDという変数に入れる(オブジェクト変数)
Set FLC = FLD.Files ' 対象フォルダー(FLD)の中のファイル一覧(コレクション)をFLCに入れる
For Each FL In FLC 'FLCのファイルを一個ずつ処理する
If Left(FL.Name, 3) = "aaa" Then 'File名の先頭3文字がaaaだったら
FL.Copy ("C:\temp2\") 'FileをCopy
End If
Next '繰り返し
テストはしていませんがこれでいいと思います。

質問した人からのコメント

2011/6/19 01:37:58

成功 返信遅くなり申し訳ございません。無事解決いたしました。
大変助かりました。ありがとうございます。

ベストアンサー以外の回答

1〜1件/1件中

lit********さん

編集あり2011/6/1816:50:22

Set objFS = CreateObject("Scripting.FileSystemObject")
ppath=left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))
With CreateObject("Shell.Application").Namespace(ppath)
For Each myF in .Items
if left(myF.name,3)="aaa" then
objfs.MoveFile ppath & myf.name , ppath & "folder\" & myf.name
end if
Next
end with
wscript.quit

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる