プログラミング |
|
(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様
|