プログラミング |
|
|
(Windows 7 Professional : その他)
thumbs.dbを削除したい
投稿日時: 21/01/20 11:17:35
投稿者: ラングドシャ
|
|---|---|
|
お願いします。
Dim Fs, strPath, Fl, F, NewFile, NewFileFP, OutF
Dim strBody
Dim wkYear
Dim wkMonth
Dim wkDay
Dim objFileSys
Dim objFolder
Dim objFile
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objShell = CreateObject("Wscript.Shell")
Set oMsg = CreateObject("CDO.Message")
'年月日を取得します
wkYear=Year(Now())
wkMonth = Month(Now())
wkDay = Day(Now())
'1-9月の場合、0を付与します。
If wkMonth < 10 Then
wkMonth= "0" & wkMonth
End If
'1-9日の場合、0を付与します。
If wkDay < 10 Then
wkDay= "0" & wkDay
Else
end if
'ファイルシステムを扱うオブジェクトを作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")
'フォルダのオブジェクトを取得
Set objFolder = objFileSys.GetFolder("Y:\test")
Set Fs = CreateObject("Scripting.FileSystemObject")
strPath = "Y:\test"
strBody = "課長" & vbCrLf & vbCrLf & "テストを送付します。" & vbCrLf & vbCrLf & vbCrLf & "<ファイル名>" & vbCrLf
'FolderオブジェクトのFilesプロパティからFileオブジェクトを取得
For Each objFile In objFolder.Files
strBody = strBody & objFile.Name & vbCrLf
Next
oMsg.From = "管理部 <kanribu@*****.com>" '送信元
oMsg.To = "課長 <katyou@*****.com>" '送信先
oMsg.Cc = "担当1 様 <tantou@****.com>"
oMsg.Bcc = "その他 様 <sonota@*****.com>"
oMsg.Subject = "テスト送信の件" '件名
oMsg.TextBody = strBody
If Fs.FolderExists(strPath) Then
Set Fl = Fs.GetFolder(strPath)
For Each F In Fl.Files
oMsg.AddAttachment F.Path
Next
Set Fl = Nothing
Else
MsgBox "フォルダー """ & strPath & """ を参照出来ません。", vbCritical, "エラー"
End If
Set objFolder = Nothing
Set objFileSys = Nothing
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "*******"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "info@*****.com"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"
oMsg.Configuration.Fields.Update
oMsg.Send
Set OutF = Fs.OpenTextFile("C:\FileSend\Fsend.log",8)
OutF.WriteLine "Date[" & date & "] Time[" & time & "] File[" & NewFile & "]"
OutF.Close
objShell.Popup "メール送信しました。", 0, "送信完了", 0
Set Fs = Nothing
Set Fl = Nothing
Set OutF = Nothing
batファイル net use y: "\\172.16.1.1\管理部" /y @echo off for %%F in (Y:\test\*.*) do goto FILE_EXIST echo ファイルが無い goto End :FILE_EXIST cscript C:\test.vbs //nologo del /q Y:\test\*.* :End よろしくお願いいたします。 |
|
|
|
投稿日時: 21/01/20 15:07:35
投稿者: Suzu
|
|---|---|
|
まず、thumbs.db ですが、サムネイルファイルです。
引用: この命令は提示頂けていないので、同様の処理を行ってるのであれば 削除されていないのではないかと思います。 対して VBS内の FileSystemObject を使用した For Each objFile In objFolder.Files strBody = strBody & objFile.Name & vbCrLf Next の場合、隠しファイル も処理対象になります。 ですので、添付される事になります。 ・BAT内で、DELコマンドに /A H スイッチをつけ隠し属性ファイルをも削除する ・VBS内で ファイル名にて処理対象から外す ・VBS内で ファイル属性により処理対象から外す 引用: 拡張子をしてみる とは どのような行為でしょうか。 |
|
|
|
投稿日時: 21/01/20 17:53:38
投稿者: ラングドシャ
|
|---|---|
|
Suzu様
DEL Thumbs.db /S のコマンドで行っていました。 これを DEL Thumbs.db /A:Hに変更してみます。 vbsの知識がなく 引用: はなかなか難しいので、まずはBATファイルからチャレンジします。 ※現在のvbsはネットで調べたりこちらでわからないところを質問して作成しました。 引用: に関してですが入力ミスでした。 拡張子を指定してみる。ということで、添付したいのはフォルダ内のエクセルファイルなので batファイルの「Y:\test\*.**」のところを「Y:\test\*.xlsx」とするとエラーに なってしまいました。 ありがとうございます。 |
|
|
|
投稿日時: 21/01/21 13:25:24
投稿者: Suzu
|
|---|---|
|
サンプルです。
|
|
|
|
投稿日時: 21/01/21 17:15:03
投稿者: ラングドシャ
|
|---|---|
|
Suzu様
|
|
|
|
投稿日時: 21/01/22 13:27:15
投稿者: ラングドシャ
|
|---|---|
|
Suzu様
|
|