2008年05月25日

日時を付加してファイルをリネーム

※改版する毎にVer.の数字を上げていきます。
 メジャー・マイナーの区別、改版履歴は特になし。

実行例:
c:\temp\test.txt
がbat実行後、
c:\temp\(yymmdd)test.txt
にリネームされる。
西暦の桁数はOSにより変化すると思われる。XPは2桁。
w2kかw2k3のどちらかが4桁。未確認。


'@echo off
rem #-------------------------------------------------
rem # ■ファイル名に日付を付加してリネーム Ver.001
rem #-------------------------------------------------


rem #対象となるファイル名を定義
set strFileName=test.txt

rem #ファイルのパスをフルパスで定義
set strFilePath=c:\temp\


rem #-------------------------------------------------
rem # ▼ファイルのリネーム処理(ここから下は触らない。)
rem #-------------------------------------------------
@echo YYMMDD形式で日付の取得
set wdate=%date:/=%
set wdate=%wdate:~2,11%
set wdate=%wdate: =0%
set fname=%wdate%

@echo ミリ秒まで時刻の取得
set tm=%time: =0%

@echo 日付_時刻
set strDate=%wdate%_%tm:~0,2%%tm:~3,2%%tm:~6,2%


@rem ファイル名に日付を付加してリネーム
move "%strFilePath%%strFileName%" "%strFilePath%(%strDate%)%strFileName%"
posted by 秋月 at 02:06| Source:DOSコマンド | このブログの読者になる | 更新情報をチェックする

2008年05月01日

VBScriptによるExcite翻訳

' ////////////////////////////////////////////////////////
'/// 入力単語を元にExcite翻訳 Ver.001
' ////////////////////////////////////////////////////////


Option Explicit
On Error Resume Next

Dim objIE ' IE オブジェクト
Dim strInputData ' ユーザ入力データ
Dim wShell
Dim oExec

Set objIE = CreateObject("InternetExplorer.Application")
Set wShell = CreateObject("WScript.Shell")

strInputData = InputBox("Exciteで翻訳したい英単語を入力して下さい。","Excite翻訳[英和]","")

' IEの機能を使ってクリップボードのデータを取得 rem この機能は今回は使わない。
If Err.Number = 0 Then
objIE.Navigate("about:blank")
strCbData = objIE.document.parentwindow.clipboardData.GetData("text")
' IEで開く実行処理
Set oExec = wShell.Exec("cmd.exe /C start iexplore " + """http://www.excite.co.jp/dictionary/english_japanese/?dic=enja&match=beginswith&_ie=Shift_JIS&search=" + strInputData + """")
objIE.Visible = False
Else
WScript.Echo "エラー:" & Err.Description
' アイコンを設定
intMsgIcon = vbCritical
End If

Set objIE = Nothing
posted by 秋月 at 04:27| 運営ログ | このブログの読者になる | 更新情報をチェックする

2008年02月23日

VBScriptによる自動ログオン確認

---------------------------------------------------------------------------
'VBScriptによる自動ログオン確認プログラム
'---------------------------------------------------------------------------
'暗黙の宣言を不許可(デバック用)
Option Explicit
'エラー検知後も可能な範囲で処理を実行
On Error Resume Next



'自動ログオン設定の確認
set WshShell = CreateObject("WScript.Shell")

'取得対象キーへのパス
strBasicPath = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\"


WScript.Echo("自動ログオンの値:" & WshShell.RegRead(strBasicPath + "AutoAdminLogon") )
'対象キーがなく、エラーが発生した場合
If Err <> 0 Then
WScript.Echo("自動ログオン許可フラグは設定されていません。")
Err.Clear
End If


WScript.Echo("ドメイン名:" & WshShell.RegRead(strBasicPath + "DefaultDomainName") )
'対象キーがなく、エラーが発生した場合
If Err <> 0 Then
WScript.Echo("自動ログオン用ドメイン名は設定されていません。")
Err.Clear
End If


WScript.Echo("ユーザ名: " & WshShell.RegRead(strBasicPath + "DefaultUserName") )
'対象キーがなく、エラーが発生した場合
If Err <> 0 Then
WScript.Echo("自動ログオン用ユーザ名は設定されていません。")
Err.Clear
End If


WScript.Echo("パスワード:" & WshShell.RegRead(strBasicPath + "DefaultPassword") )
'対象キーがなく、エラーが発生した場合
If Err <> 0 Then
WScript.Echo("自動ログオン用パスワードは設定されていません。")
Err.Clear
End If


WScript.Echo("終了です。")
posted by 秋月 at 13:32| Source:VBScript | このブログの読者になる | 更新情報をチェックする

2008年02月01日

VBScriptによる複数DOSコマンドの一行実行


'---------------------------------------------------------------------------
'VBScriptによる複数DOSコマンドの一行実行
'---------------------------------------------------------------------------
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C:¥ & Dir"
Set oShell = Nothing

posted by 秋月 at 22:17| Source:DOSコマンド | このブログの読者になる | 更新情報をチェックする

2007年12月12日

C言語入門サイト覚書き

・非常に丁寧で論理的なサイト様。
 プログラムだけでなく、WEB標準を高度に理解する知識を持ち合わせ、
 かつ標準に縛られずに柔軟にサイトを構築されています。
 (例えばですが、「物理タグの利用は控えるべき」という大前提を踏まえて、
 それでも広範囲なユーザビリティを考慮してcssを使う、そして物理タグも使う、といったようにサイトを構築されているように見受けられました。)
 ⇒苦しんで覚えるC言語
posted by 秋月 at 01:46| 【リンク】C言語 | このブログの読者になる | 更新情報をチェックする

2007年04月21日

特定サービス停止時にサービスを再起動

※改版する毎にVer.の数字を上げていきます。
 メジャー・マイナーの区別、改版履歴は特になし。


@echo on
rem #-------------------------------------------------
rem # ■特定サービス停止時にサービスの再起動 Ver.001
rem #-------------------------------------------------


rem #再起動するサービスを定義
set RebootService=Alerter

rem #リトライに3回失敗した時の通知先を定義
set ErrorSendPC01=host1


rem #-------------------------------------------------
rem # ▼サービスの起動処理(ここから下は触らない。)
rem #-------------------------------------------------
net start %RebootService%


 :Main
IF ERRORLEVEL 1 goto Try1
IF ERRORLEVEL 0 goto exit
 goto Main


 :Try1
net start %RebootService%
IF ERRORLEVEL 1 goto Try2
IF ERRORLEVEL 0 goto exit
 exit


 :Try2
net start %RebootService%
IF ERRORLEVEL 1 goto Damepo
IF ERRORLEVEL 0 goto exit
 exit


 :Damepo
net send %ErrorSendPC01% %RebootService%の起動に失敗しました。
 exit
posted by 秋月 at 00:07| Source:DOSコマンド | このブログの読者になる | 更新情報をチェックする

2007年04月20日

キー入力を判定して条件分岐するバッチ

※改版する毎にVer.の数字を上げていきます。
 メジャー・マイナーの区別、改版履歴は特になし。


@echo off
rem #-------------------------------------------------
rem # ■キー入力を判定して条件分岐するバッチ Ver.001
rem #-------------------------------------------------


rem #-------------------------------------------------
rem # ▼キー入力待ち処理
rem #-------------------------------------------------
 :Main
echo.
echo キー入力後、エンターで決定して下さい。。
echo [0] 処理0を行う。
echo [1] 処理1を行う。
echo [2] 処理2を行う。
echo [3] 処理3を行う。
echo [test] 処理testを行う。
echo [E] このプログラムを終了する。

set /p input=
if defined input set input=%input:"=%
if /i "%input%" == "0" (goto 処理0)
if /i "%input%" == "1" (goto 処理1)
if /i "%input%" == "2" (goto 処理2)
if /i "%input%" == "3" (goto 処理3)
if /i "%input%" == "test" (goto 処理test)
if /i "%input%" == "E" (goto exit) else goto エラー処理
 goto Main



rem #-------------------------------------------------
rem # ▼選択したフィルターの配布処理
rem #-------------------------------------------------
 :処理0
cls
echo 処理0です。
 goto end


 :処理1
cls
echo 処理1です。
 goto end


 :処理2
cls
echo 処理2です。
 goto end


 :処理3
cls
echo 処理3です。
 goto end


 :処理test
cls
echo 入力値を変数に格納して比較しているので文字列でもオッケーです。
 goto end


rem #-------------------------------------------------
rem # ▼定義したキー以外を入力した場合のエラー処理
rem #-------------------------------------------------
 :エラー処理
cls
echo 入力されたキーが違います。
echo 数字の0,1,2,3,4を入力して下さい。
echo.
 goto Main


rem #-------------------------------------------------
rem # ▼終了処理
rem #-------------------------------------------------
 :end
echo.
pause
posted by 秋月 at 23:56| Source:DOSコマンド | このブログの読者になる | 更新情報をチェックする

2007年04月19日

VBScriptによるメール送信プログラム

※改版する毎にVer.の数字を上げていきます。
 メジャー・マイナーの区別、改版履歴は特になし。



'---------------------------------------------------------------------------
'VBScriptによるメール送信プログラム  ※要:basp21ファイル。 Ver.002
'---------------------------------------------------------------------------
'暗黙の宣言を不許可(デバック用)
Option Explicit
'エラー検知後も可能な範囲で処理を実行
'On Error Resume Next


'---------------------------------------------------------------------------
'▼変数の宣言と定義の注釈
'---------------------------------------------------------------------------
Dim Bobj 'baspi21呼び出し
Dim SvPortName 'サーバポート
Dim SvName 'サーバ
Dim strMailto '宛先アドレスの定義
Dim MailUserName 'ユーザ名
Dim MailPassword 'パスワード
Dim AddRessList '送信先一覧
Dim AddressNumber '宛先 (To)及び、'同報 (Cc)
Dim Mailfrom '送信元(From)
Dim Sbj '件名 (Subject)
Dim Body '本文 (body)
Dim Files '添付 (files)
Dim result 'メール送信処理


'---------------------------------------------------------------------------
'▼宛先アドレス・リストを設定 ↓↓↓↓設定が必要↓↓↓↓
'---------------------------------------------------------------------------

' 宛先入力ダイアログに表示するリスト
AddRessList = "1 ⇒ 宛先名1" + vbCr + _
"2 ⇒ 宛先名2" + vbCr + _
"3 ⇒ 宛先名3" + vbCr + _
"4 ⇒ 宛先名4" + vbCr + _
"5 ⇒ 宛先名5"


'ダイアログの入力に合わせて送信先のアドレス(変数)を定義
Public Sub SelectAddress
Select Case AddressNumber

Case "1":
strMailto = "宛先名1<atesaki1@tekitou.co.jp>"

Case "2"
strMailto = "宛先名2<atesaki2@tekitou.co.jp>"

Case "3"
strMailto = "宛先名3<atesaki3@tekitou.co.jp>"

Case "4"
strMailto = "宛先名4<atesaki4@tekitou.co.jp>"

Case "5"
strMailto = "宛先名5<atesaki5@tekitou.co.jp>"

Case Else
Msgbox("リストにある数字を半角で入力して下さい。")
call AddressInput

End Select
End Sub


'---------------------------------------------------------------------------
'▼デフォルト入力情報の定義部分。 ↓↓↓↓設定が必要↓↓↓↓
'---------------------------------------------------------------------------

Dim strMailfrom '送信元アドレスのデフォルト値を定義
strMailfrom = "仮の送信元<karino@sousinnmoto.ne.jp>"

'メールサーバポート ///25じゃないところも多いので注意。
'各プロパイダの特殊設定はロリポップに一覧あり。
'http://lolipop.jp/?mode=manual&state=mail&state2=wak
SvPortName = "25"

'POP3サーバー
SvName = "sousinnmoto.ne.jp"

'ユーザ名
MailUserName = "karino@sousinnmoto.ne.jp"

'パスワード
MailPassword = "tekitou"


'---------------------------------------------------------------------------
'▼プログラム部分。ここから下は変更しないで下さい。
'---------------------------------------------------------------------------
'BASP21 オブジェクト作成
Set Bobj = CreateObject("basp21")


Public Sub AddressInput
AddressNumber = InputBox("宛先を入力して下さい" + vbCr + vbCr + AddRessList,"[宛先の入力]","ここに送信先の番号を半角で入力して下さい。")

call SelectAddress
End Sub

call AddressInput


'送信元(From)
' Mailfrom = InputBox("送信元アドレスを入力して下さい","[送信元アドレスの入力]",strMailfrom)
Mailfrom = strMailfrom

'件名 (Subject)
Sbj = InputBox("メールの件名を入力して下さい","[件名の入力]","ここに件名を入力")

'本文 (body)
Body = InputBox("メールの本文を入力して下さい","[本文の入力]","ここに本文を入力")

'添付 (files)
' Files = InputBox("添付ファイルがあればファイルの拡張子までのフルパスを入力して下さい","[添付ファイルの入力]","")
Files = ""


'メールの件名と本文の両方が空の場合、処理を終了する。
If Sbj="" and Body="" then
msgbox "件名と本文が空です。終了します。"
'処理を終了する。
WScript.Quit
End If
'メールの件名と本文の両方がデフォルト文の場合、処理を終了する。
If Sbj="ここに件名を入力" and Body="ここに本文を入力" then
msgbox "件名と本文が仮の入力のままです。終了します。"
'処理を終了する。
WScript.Quit
End If


'メール送信処理
result = Bobj.SendMail( _
SvName & ":" & SvPortName, _
strMailto, _
Mailfrom, _
Sbj, _
Body, _
Files)

'エラーチェック
If result = "" Then


'送信情報のロギング<はじまり>
Dim objFS 'FileSystemObject
Dim objFile
Dim strPath 'ログファイル名
Dim myDate
Dim myTime

'/// 定義の宣言
Set objFS = CreateObject ("Scripting.FileSystemObject")

myDate = FormatDateTime(Date)
myTime = FormatDateTime(time)

'///保存先ファイルの存在確認
strPath = ("SendLog.txt")
If objFS.FileExists(strPath) Then
'/// 保存先ファイルが既にあれば開く。
Set objFile = objFS.GetFile(strPath)

'/// 開いたファイルにデータを挿入。8は追記モード。2を指定すると上書き。
Set objFile = objFile.OpenAsTextStream(8,0)
objFile.WriteLine("-----------------------------------------")
objFile.WriteLine("[" & myDate & "_" & myTime & "]")
objFile.WriteLine("宛先:" & strMailto)
objFile.WriteLine("件名:" & Sbj)
objFile.WriteLine("本文:" & Body)
objFile.WriteLine(vbcr)
objFile.Close
Else
'/// 保存先ファイルが無ければ作成
Set objFile = objFS.CreateTextFile(strPath,True)
'/// 開いたファイルにデータを挿入。
objFile.WriteLine("-----------------------------------------")
objFile.WriteLine("[" & myDate & "_" & myTime & "]")
objFile.WriteLine("宛先:" & strMailto)
objFile.WriteLine("件名:" & Sbj)
objFile.WriteLine("本文:" & Body)
objFile.WriteLine(vbcr)
objFile.Close
End If
'送信情報のロギング<おわり>


msgbox "送信成功"
Else
msgbox "送信エラー: " & result
End If


'オブジェクト開放
Set Bobj = Nothing




'========================================
'== 覚え書き
'== 1.要:basp21ファイル。↓
'==  http://www.hi-ho.ne.jp/babaq/basp21.html
'== 2.デフォルトでccは送らない、添付ファイルは送れない、
'==  送信者アドレスは入力しない(プログラム中で事前に入力)
'==  設定になっています。変更は可能。
'========================================

posted by 秋月 at 22:40| Source:VBScript | このブログの読者になる | 更新情報をチェックする

クリップボードデータを元にGoogle検索

※改版する毎にVer.の数字を上げていきます。
 メジャー・マイナーの区別、改版履歴は特になし。


' ////////////////////////////////////////////////////////
'/// クリップボードデータを元にGoogle検索 Ver.001
' ////////////////////////////////////////////////////////

Option Explicit
On Error Resume Next

Dim objIE ' IE オブジェクト
Dim strCbData ' クリップボードデータ
Dim wShell
Dim oExec

Set objIE = CreateObject("InternetExplorer.Application")
Set wShell = CreateObject("WScript.Shell")


' IEの機能を使ってクリップボードのデータを取得
If Err.Number = 0 Then
objIE.Navigate("about:blank")
strCbData = objIE.document.parentwindow.clipboardData.GetData("text")
' IEで開く実行処理
Set oExec = wShell.Exec("cmd.exe /c start iexplore " + """http://www.google.co.jp/search?hl=ja&q=" + strCbData + "&lr=""")
objIE.Visible = False
Else
WScript.Echo "エラー:" & Err.Description
' アイコンを設定
intMsgIcon = vbCritical
End If

Set objIE = Nothing


■コピペすら面倒だからダウンロード⇒CBdeGoogleS.vbs
posted by 秋月 at 22:39| Source:VBScript | このブログの読者になる | 更新情報をチェックする

2007年04月12日

クリップボードデータを元にフォルダを開く

※改版する毎にVer.の数字を上げていきます。
 メジャー・マイナーの区別、改版履歴は特になし。


' ////////////////////////////////////////////////////////
'/// クリップボードデータを元にフォルダを開く Ver.001
' ////////////////////////////////////////////////////////

Option Explicit
On Error Resume Next

Dim objIE ' IE オブジェクト
Dim strCbData ' クリップボードデータ
Dim wShell
Dim oExec

Set objIE = CreateObject("InternetExplorer.Application")
Set wShell = CreateObject("WScript.Shell")


' IEの機能を使ってクリップボードのデータを取得
If Err.Number = 0 Then
objIE.Navigate("about:blank")
strCbData = objIE.document.parentwindow.clipboardData.GetData("text")


'/// エクスプローラで開く処理<はじまり>
Dim strFolderName ' フォルダ名
Dim objShell ' Shell オブジェクト

Set objShell = WScript.CreateObject("Shell.Application")
If Err.Number = 0 Then
'/// 前後のスペースを削除する(また、パス前後に"があれば削除する)
objShell.Explore trim(Replace(strCbData,"""",""))
Else
WScript.Echo "エラー: " & Err.Description
End If

Set objShell = Nothing
'/// エクスプローラで開く処理<おわり>


objIE.Visible = False
Else
WScript.Echo "エラー:" & Err.Description
' アイコンを設定
intMsgIcon = vbCritical
End If

Set objIE = Nothing


■コピペすら面倒だからダウンロード⇒CBdeOpenF.vbs
posted by 秋月 at 21:01| Source:VBScript | このブログの読者になる | 更新情報をチェックする