SQLの窓 イラストAC フリー素材

2020年08月02日

タイムマシンわ号 / ほぼ自由に利用できる制限の緩いフリーフォントたち

⇩⇩⇩⇩ タイムマシンわ号 のダウンロード ⇩⇩⇩⇩
MODI工場(モーディーコウジョウ)



無償で使用可能です
いわゆるパブリックドメインです
商用・非商用いずれでもお使い頂けます
このフォントは再配布が可能です
posted by at 2020-08-02 21:33 | フリーフォントで簡単ロゴ作成 | このブログの読者になる | 更新情報をチェックする

Windows 標準の CDO.Message で(GmailまたはYahoo!メールを使って)簡単にバッチ処理からメールを送る



▼ バッチファイル
▼ スクリプト
SSL/465 で暗号化通信をします。
Gmail は、smtp.gmail.com
Yahoo メールは smtp.mail.yahoo.co.jp  ( アカウントは @ の前の部分 )
※ Gmail の場合、安全性の低いアプリの許可を『有効』にする必要があります
ファイルを添付する場合は、
Call Cdo.AddAttachment( "ファイルのフルパス" )
と追加します

※ ファイルのパスは、URL でも可能です。
HTML メールも送りたい場合は、
Cdo.HTMLBody = "HTMLの記述"
です
CC と BCC は、カンマで区切られた複数のアドレスを設定します
Cdo.CC  = """User 1"" , ""User 2"" "
関連する記事 C# : TKMP.DLLを使った、メール送信テンプレート Windows10 で確認しました。この記事の後半にあるダウンロードとソースコードは昔のものですが、動作するのでそのままおいて置きますが、今回新たにテストしたのはメールを送る機能に特化したスクリプトです。 ただ、Windows として過去の経緯からして必ず動くと保証できないので、XAMPP + Fake sendmail という環境で PHP の mb_send_mail を使用する方法も視野にいれておくといいと思います。 バッチファイル
@echo off

cscript //Nologo mail.vbs "ここは 題名" "ここは 本文\nです。\n簡単なメッセージを送ります"
VBScript : mail.vbs
' ****************************************************
' 【 対象 : Windows XP 以降 】
'
' HTML メールは Cdo.Htmlbody を使用します
' "<PRE>" & strBody & "</PRE>" をセットすると
' 良いでしょう )
'
' 添付ファイルは 
' Cdo.AddAttachment( "添付ファイルへのパス" ) を実行します
' ****************************************************

strFrom = "username@gmail.com"
strTo = "宛先"

' サーバ
strServer = "smtp.gmail.com"
nPort = 465
strUser = "username@gmail.com"
strPass = "パスワード"

Set Cdo = WScript.CreateObject("CDO.Message")

' 差出人
Cdo.From = "わたしです<" & strFrom & ">"
' 宛先
Cdo.To = strTo
' 件名
Cdo.Subject = WScript.Arguments(0)
' 本文
Cdo.Textbody = Replace( WScript.Arguments(1), "\n", vbCrLf )

' ポート利用( 2 )
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strServer
' メールサーバの仕様に合わせる
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nPort
' SSL 使用
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
' ユーザ/パスワードでログイン
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
Cdo.Configuration.Fields.Item  ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPass

Cdo.Configuration.Fields.Update

on error resume next
Cdo.Send
if Err.Number <> 0 then
	strMessage = Err.Description
else
	strMessage = "送信が完了しました"
end if
on error goto 0

Wscript.Echo strMessage

ここから古い記事の部分

Windows XP 以降で実行可能です。
( Ping 部分 )
※ Mail 送信部分は Windows 2000 以降です。
' ****************************************************
' 【 対象 : Windows XP 以降 】
' Ping を実行して応答が返って来たら、
' 指定アドレスにメールを送ります
'
' HTML メールは Cdo.Htmlbody を使用します
'
' 添付ファイルは 
' Cdo.AddAttachment( "添付ファイルへのパス" ) を実行します
' ****************************************************
strTarget = "192.168.1.1"

strFrom = "xxxx@xxxxxxxxxx"
strTo = "yyyy@yyyyyyyyy"

strServer = "zzzzzzzzzzzzzz"
nPort = 587
strUser = "aaaa"
strPass = "????"

' ****************************************************
' WMI による PING 処理
' 最大4回リトライ(正常なら1回)
' ****************************************************
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
bReply = false
For I = 1 to 4
	Set colItems = objWMIService.ExecQuery _
		("Select * from Win32_PingStatus " & _
			"Where Address = '" & strTarget & "'")
	For Each objItem in colItems
		if objItem.StatusCode = 0 then 
			bReply = true
			I = 4
			Exit For
		end if
	Next
Next

if bReply then
	strSubject	= strTarget & " は稼動中です"
	strBody = "よろしくお願いします"
else
	strSubject	= strTarget & " は問題があります"
	strBody = "調査をお願いします"
end if

Set Cdo = WScript.CreateObject("CDO.Message")

Cdo.From = strFrom
Cdo.To = strTo
Cdo.Subject	= strSubject
Cdo.Textbody = strBody

Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strServer
Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nPort

Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
Cdo.Configuration.Fields.Item _ 
 ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPass

Cdo.Configuration.Fields.Update

on error resume next
Cdo.Send
if Err.Number <> 0 then
	strMessage = Err.Description
else
	strMessage = "送信が完了しました"
end if
on error goto 0

Wscript.Echo strMessage
関連する Microsoft ドキュメント

CdoSendUsing Enum

関連する記事

IE拡張メニューで取得したテキストをメールで送る(CDO.Message版)

更新履歴
初回投稿 : 不明
2013-01-06 : 部分変更
2013-07-26 : Gmail をベースにして、SSL/465 で暗号化処理
2013-07-31 : Yahoo でテストして、添付ファイル、HTMLメール、CC、BCC の使い方を追加




posted by at 2020-08-02 09:58 | VBScript | このブログの読者になる | 更新情報をチェックする

2020年08月01日

ご自分の奥さんが主人公の、とてもとても愉快なブログを発見しました。

初期投稿

2014-07-13


yahoo! ブログから、ameba へ移転されていました。

元々は、『どうしてこうなった 「Yahoo!知恵袋」人気の質問が再現ドラマに』

ここで最初に紹介されているのが、「家に帰ると妻が必ず死んだふりをしています」

その冒頭が、
家に帰ると妻が必ず死んだふりをしています。
どういうことなのでしょうか?
家に帰り玄関を開けると妻が倒れていました。
最初は驚きましたが毎日やるので
ほら起きてと流すようになりました。
すると翌日は口から血を流しており、
1週間後は白いTシャツが血まみれだったり
とあります。 『えええ?』 と、ちょっと心配してしまいますが・・・ 最後のオチが
軍服はアーミーショップで揃えたようです。無駄遣いしないようにと注意しましたら今日はお手製のワニと思われる生き物に食べられていました。
と、想像しただけで笑うしか無い、とても楽しい内容です。 で、この質問主さんは、これをきっかけにブログを立ち上げたらしく、『家に帰ると妻が必ず死んだふりをしています』の最初の書き込みがこの質問内容です。 ※ 2010/9/8 から、2014/7/4( 最新 ) で、すぐ続くんですよ。とても面白く最高です。 マイケルジャクソンが私の部屋にお見舞いに来ました 禁じられた遊び お小遣いを請求すると妻は酔っぱらいます。 初期投稿 2014-07-13
posted by at 2020-08-01 21:19 | 生活 | このブログの読者になる | 更新情報をチェックする

バックアップスクリプトを作るスクリプト



出来上がったスクリプトの名前は、以下のような仕様です。 BK_ドライブ_パス.vbs パスの部分は、スペースを除いて \ を _ に変更しています。この名前でディレクトリがスクリプトのあるディレクトリに作成されてファイルが XCOPY でコピーされます。 スクリプトの名前を変更すると、コピー先(スクリプトがあるディレクトリ)のディレクトリ名も変更されます。 XCOPY は、新しいファイルのみをディレクトリ以下全てコピーします。
' ***********************************************************
' 処理開始
' ***********************************************************
Set Fso = Wscript.CreateObject( "Scripting.FileSystemObject" )
Set Shell = Wscript.CreateObject( "Shell.Application" )

' ***********************************************************
' 実行中ディレクトリの取得
' ***********************************************************
strPath = Wscript.ScriptFullName 
Set objFile = Fso.GetFile( strPath )
strBackupFolder = Fso.GetParentFolderName( objFile )

' ***********************************************************
' バックアップ対象ディレクトリの取得
' ***********************************************************
' マイ コンピュータを基準にディレクトリ選択
Set objFolder = Shell.BrowseForFolder( 0, "バックアップするフォルダを選択してください", &H4B, _
	"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" )
if objFolder is nothing then
	WScript.Quit
end if
if not objFolder.Self.IsFileSystem then
	WScript.Echo "ファイルシステムではありません"
	WScript.Quit
end if

strTargetFolder = objFolder.Self.Path
strName = Replace( strTargetFolder, ":", "" )
strName = Replace( strName, "\", "_" )
strName = Replace( strName, " ", "" )
strName = "BK_" & strName

' ***********************************************************
' スクリプト作成
' ***********************************************************
Set OutFile = Fso.OpenTextFile( strBackupFolder & "\" & strName & ".vbs", 2, True )

OutFile.WriteLine "strName = """ & strName & """"
OutFile.WriteLine "strTarget = """ & strTargetFolder & """"
OutFile.WriteLine "strBackupFolder = """ & strBackupFolder & """"
OutFile.Write "if MsgBox( strTarget & vbCrLf & ""のバックアップを開始します。よろしいですか? (保存先:"" & strBackupFolder & ""\"" & strName & "")"""
OutFile.WriteLine ", 1 ) = 2 then"
OutFile.WriteLine "	Wscript.Quit"
OutFile.WriteLine "end if"

OutFile.WriteLine "Set WshShell = Wscript.CreateObject( ""WScript.Shell"" )"
OutFile.Write "ExecCommand = ""cmd.exe /C """"xcopy.exe """""" & strTarget & """""" """""" & strBackupFolder & ""\"" & strName & ""\"""""
OutFile.WriteLine " /D /E /C /S /Y & PAUSE"""""""
OutFile.WriteLine "Call WshShell.Run( ExecCommand )"

OutFile.Close

WScript.Echo "バックアップスクリプト : " &  strName & ".vbs" & " を作成しました"

関連する記事

ディレクトリごと新しいファイルのみをコピーする
XCOPYで新しいファイルのみバックアップする為のスクリプトを作成するスクリプト
ディレクトリ選択


posted by at 2020-08-01 20:34 | VBScript | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します