2014年5月30日金曜日

Diruseモドキ

Option Explicit

Dim objApl
Dim objFolder
Dim objFolderItems
Dim numFolderSize
Dim numFileCount
Dim numFolderCount

numFolderSize=0
numFileCount=0
numFolderCount=0

'①シェルアプリケーションオブジェクトを作成します
Set objApl = WScript.CreateObject("Shell.Application")

'②探りを入れたいフォルダのオブジェクトを作成します
'Set objFolder = objApl.NameSpace("i:\r")
Set objFolder = objApl.NameSpace("\\127.0.0.1\r")

'③フォルダオブジェクトから、入っているファイルや
' フォルダの情報を取得します
Set objFolderItems = objFolder.Items()

'フォルダの検索処理の呼び出し
Call prcFolderSize (objFolderItems)

'結果の表示。総容量、総ファイル数、総フォルダ数を表示
WScript.Echo "フォルダC:\happyの容量は、約" & numFolderSize & "バイトです"
WScript.Echo "フォルダC:\happyのファイル数は、約" & numFileCount & "個です"
WScript.Echo "フォルダC:\happyのフォルダ数は、約" & numFolderCount & "個です"

Set objFolderItems = Nothing
Set objFolder = Nothing
Set objApl = Nothing

'==============================================================
'= フォルダ内に含まれるファイルやフォルダを検索する
'==============================================================
Sub prcFolderSize(tmpFolderItems)

Dim objFolderItemsB
Dim objItem
Dim i

'④何個入っていたかは、Countで参照
For i=0 To tmpFolderItems.Count-1

'⑤ファイルやフォルダの情報を1コ取り出します
Set objItem = tmpFolderItems.Item(i)

'⑥取り出した物がファイルかフォルダかを判定
If objItem.IsFolder Then
'⑦フォルダであれば、フォルダアイテムオブジェクトを
' 作り、それを引数としてprcFolderSizeを再帰呼び出します
Set objFolderItemsB = objItem.GetFolder
Call prcFolderSize (objFolderItemsB.Items())
numFolderCount = numFolderCount + 1
Else
'⑧ファイルの場合は、サイズとファイル数を集計します
numFolderSize = numFolderSize + objItem.Size
numFileCount = numFileCount + 1
End If

Next

Set objItem = Nothing
Set objFolderItemsB = Nothing

End Sub

2014年5月27日火曜日

du3 http://www1.u-netsurf.ne.jp/~tomo_c/tips/R23Lev15.html




' --< フォルダの再帰処理 >------------------------------------------------------
Sub FolderSearch(fn)
' 引数に指定されたフォルダの情報を取得
Set subf = fso.GetFolder(fn)

' ファイル数と、サブフォルダ数の加算
TotalCountFile = TotalCountFile + subf.Files.Count
TotalCountFolder = TotalCountFolder + subf.Subfolders.Count

' 指定のフォルダに格納された各ファイルの処理
For Each FileName In subf.Files
TotalSize = TotalSize + FileName.Size
Next



' 指定のフォルダに格納された各サブフォルダを処理する
For Each FolderName In subf.Subfolders

WScript.Echo FolderName

FolderSearch(FolderName)
Next
End Sub

' --< メインルーチン >----------------------------------------------------------
' オブジェクト定義
Set arg = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")

' カウンタクリア
TotalSize = 0
TotalCountFile = 0
TotalCountFolder = 0

' フォルダ探索開始
FolderSearch(arg(0))

' 結果表示
WScript.Echo "調査フォルダ:" & arg(0)
WScript.Echo "ファイル数:" & TotalCountFile
WScript.Echo "フォルダ数:" & TotalCountFolder
WScript.Echo "ファイル総容量:" & TotalSize

2014年5月23日金曜日

方針計画



■昨日の仮想VM統計を出力

■昨日のJOBは稼働しているか


■シーケンシャルのJOBは動いているか


■8平行実施
 CPU4コアにする、JOB8分割にする


-----------------------------------------------------------------------------------



確認をどの範囲を誰が、いつやるか。

どんな確認項目があるの

どの範囲を行うのか、サンプリングか全数か

誰が行うのか、計画かインフラかユーザか


その方法は、ツールがあるか、ないか

いつやすのか、

新規の前後、差分の前後、移行の前後


----------------------------------------------------------------------------------

切り戻しはどのように行うか


切替はどのように行うか



差分の取り込みはどうするのか


ACL情報のバッチ表示

ica


http://www.atmarkit.co.jp/fwin2k/win2ktips/1316icacls/icacls.html

diruse

diruse

http://www.atmarkit.co.jp/fwin2k/win2ktips/424diruse/diruse.html

findstr

d:\admtools\robo>findstr /c:"開始:" /c:"ディレクトリ:" /c:"バイト:" /c:"ファイル:" /c:"終了:" /c:"エラー" Robocopy_local.log
開始: 2014年5月18日 23:23:43
ファイル: *.*
ディレクトリ: 2 0 0 0 0 1
ファイル: 26 0 26 0 0 0
バイト: 10.51 m 0 10.51 m 0 0 0
終了: 2014年5月18日 23:23:44

d:\admtools\robo>








2014年5月21日水曜日

https://www.google.co.jp/?gfe_rd=cr&ei=TNR7U67EEYrH8gfVm4C4Aw#q=robocopy+%2FMON%3An%E3%80%80%E3%81%8C%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84



http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCkQFjAA&url=http%3A%2F%2Fwww.aichi-c.ed.jp%2Fcontents%2Fnetwork%2FADcontrol_backup%2Frbcopy.xlsx&ei=pNR7U9P2NsWhugSG94G4Bg&usg=AFQjCNEYSPwxHaCqH-ax_XiCAc8d2rl-Lw&sig2=AiXkKvZ6JhUofC1ysyY4yA

rrobocopy


http://social.technet.microsoft.com/Forums/windowsserver/ja-JP/f0db5e3b-1e52-40a6-99e1-a281a5d115d2/robocopy?forum=windowsserver2008ja


http://msdn.microsoft.com/ja-jp/library/Cc429198

http://d.hatena.ne.jp/turkey_hate/20130712


http://jbar.jp/ishimaken/robocopy.html


http://support.microsoft.com/kb/2646535/ja




http://www.dream-seed.com/weblog/archives/2011/10/12652/

2014年5月19日月曜日

外字

https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=014238

GEN1.bat

:開始

@echo off

echo %0
echo %1
echo %2

REM =============環境に応じて、修正してください。=====================================
REM set COPY_TOPIC=移行
REM set COPY_NAME=####
REM ==================================================================================

set YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
set Time_edit=%time: =0%
set HHMMSS=%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%

echo.
echo *************************************************
echo * 重要!!  バッチ処理実行確認1
echo * %0
echo * %1
echo * %2
echo * 日付 時刻  :%YYYYMMDD% %HHMMSS%
echo *************************************************
echo.

set /P Console_input="処理続行選択(上記参照) : "

if /I "%Console_input%"=="quit" exit
if /I "%Console_input%"=="start" goto ROBOCOPY実行
goto 開始

pause

:ROBOCOPY実行

echo "########### start ########### "

pause

exit /b 0

01_GEN_CTL.vbs


INFILE = "01_GEN_CTL.INI"
OUTFILE = "01_GEN_CTL"

'Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Dim objFile2 ' ファイル書き込み用

Dim INFILE_Batch_Name ' バッチ名(フォルダ名)
Dim Batch_File_Name ' バッチファイル名
Dim iNo

dim YYYYMMDD
dim Time_edit
dim HHMMSS

dim BT_OPTION

'Check parameter

BT_OPTION = "J"

If iArgCount >=1 Then
If (CStr(wscript.Arguments(0))="G") or (CStr(wscript.Arguments(0))= "L") Then
WriteOutput iArgCount
BT_OPTION = wscript.Arguments(0)
End If
End If


'WScript.Echo SYORI_JIKAN


Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If Err.Number = 0 Then
Set objFile = objFSO.OpenTextFile(INFILE)
If Err.Number = 0 Then

Set objFSO2 = WScript.CreateObject("Scripting.FileSystemObject")

OUTFILE = OUTFILE & "_" & SYORI_JIKAN() & ".txt"

Set objFile2 = objFSO2.OpenTextFile(OUTFILE, 2, True)


HaedoutOut(objFile2)

iNo=0
Do While objFile.AtEndOfStream <> True

INFILE_Batch_Name= objFile.ReadLine
iNo = iNo + 1
Batch_File_Name = INFILE_Batch_Name & ".bat " & BT_OPTION

ContentsOut objFile2,iNo,Batch_File_Name
Loop


if iNo = 0 Then
WriteErrorMessageAndExit " Data None ERROR: "
objFile.Close
objFile2.Close
Else
TrailoutOut(objFile2)
objFile.Close
objFile2.Close
End If


Else
WriteErrorMessageAndExit " FILE OPEN ERROR: "

End If
Else
WriteErrorMessageAndExit " ERROR: "
End If

Set objFile = Nothing
Set objFile2 = Nothing
Set objFSO = Nothing
Set objFSO2 = Nothin

WScript.Quit (Result)

''''''''''
' End Main
''''''''''

'*************************************************************
'* Generate Call Batch Statement
'*************************************************************

Sub ContentsOut(objFile2,iNo,Batch_File_Name)

objFile2.WriteLine("ECHO **--------------------------------------------*")
objFile2.WriteLine("ECHO ** " & "(" & iNo & ") Call " & Batch_File_Name)
objFile2.WriteLine("ECHO **--------------------------------------------*")

objFile2.WriteLine("DATE /T ")
objFile2.WriteLine("TIME /T ")

objFile2.WriteLine("CALL " & Batch_File_Name)

objFile2.WriteLine("IF NOT " & "%ERRORLEVEL%" & " == 0 GOTO ERR" & iNo)

objFile2.WriteLine(" ECHO " & """ **END** """ & " " & Batch_File_Name)
objFile2.WriteLine(" GOTO OK" & iNo)

objFile2.WriteLine(":ERR" & iNo)
objFile2.WriteLine(" ECHO " & """ **ENDOTHER** """ & " %ERRORLEVEL% " & Batch_File_Name)

objFile2.WriteLine(":OK" & iNo)

objFile2.WriteLine("DATE /T ")
objFile2.WriteLine("TIME /T ")
objFile2.WriteLine("ECHO **")



End Sub

'*************************************************************
'* Current time
'*************************************************************

Function SYORI_JIKAN1()

dim YYYYMMDD
dim Time_edit
dim HHMMSS
dim R_SYORI_JIKAN

YYYYMMDD="%date:~0,4%%date:~5,2%%date:~8,2%"

Time_edit="%time: =0%"
HHMMSS="%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%"

R_SYORI_JIKAN = YYYYMMDD & "_" & HHMMSS

SYORI_JIKAN1 = R_SYORI_JIKAN

End Function

Function SYORI_JIKAN()

Dim dtmNowDate '時刻
Dim strDestFileName

dtmNowDate = Now() '現在時刻の取得
strDestFileName = Year(dtmNowDate)& _
Right("0" & Month(dtmNowDate), 2) & _
Right("0" & Day(dtmNowDate), 2) & _
Right("0" & Hour(dtmNowDate), 2) & _
Right("0" & Minute(dtmNowDate), 2) & _
Right("0" & Second(dtmNowDate), 2)

SYORI_JIKAN = strDestFileName

End Function

'*************************************************************
'* Generate Batch Head Statement
'*************************************************************

Sub HaedoutOut(objFile2)

objFile2.WriteLine("ECHO **********************************************")
objFile2.WriteLine("ECHO ** HEADER RECORD *****************************")
objFile2.WriteLine("ECHO **********************************************")

dim YYYYMMDD
dim Time_edit
dim HHMMSS

objFile2.WriteLine(":開始")
objFile2.WriteLine("@echo off")

objFile2.WriteLine("set COPY_TOPIC=移行")
objFile2.WriteLine("set COPY_NAME=####")
objFile2.WriteLine("set COPY_LOG_DIR=d:\admtools\log")

YYYYMMDD="%date:~0,4%%date:~5,2%%date:~8,2%"
Time_edit="%time: =0%"
HHMMSS="%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%"

'objFile2.WriteLine(YYYYMMDD)
'objFile2.WriteLine(Time_edit)
'objFile2.WriteLine(HHMMSS)

End Sub


'*************************************************************
'* Generate Batch Trail Statement
'*************************************************************

Sub TrailoutOut(objFile2)

objFile2.WriteLine("ECHO **********************************************")
objFile2.WriteLine("ECHO ** TRAILER RECORD ****************************")
objFile2.WriteLine("ECHO **********************************************")
objFile2.WriteLine("pause")

End Sub


Sub WriteErrorMessageAndExit(strMsg)
Dim strErrNumber , strDescription , strSource

strErrNumber = CStr(Err.Number)
strDescription = CStr(Err.Description)
strSource = CStr(Err.Source)
WriteOutput ""
WriteOutput strMsg
WriteOutput " Error Number : " & strErrNumber & "(0x" & Hex(strErrNumber) & ")"
WriteOutput " Error Description : " & strDescription
WriteOutput " Error Source : " & strSource
wscript.Quit Err.Number

End Sub

Sub WriteOutput(strOutput)
On Error Resume Next
wscript.Echo strOutPut
End Sub

Sub HaltExecution
If Err.Number <> 0 Then wscript.Quit Err.Number
WriteOutPut "xxxx Successfully...."
wscript.Quit
End Sub





00_CopySKEL.bat

:開始

@ECHO off

REM =============環境に応じて、修正してください。=====================================
REM MODE:
REM G  :確認画面を表示しない 実際のコピーをする
REM L :
REM none    :確認画面を表示する  コピー実行する
REM
SET COPY_TOPIC=移行
SET COPY_NAME=####
SET COPY_SRC_DIR=D:\admtools\test\####
SET COPY_DST_DIR=D:\admtools\testd\####
SET COPY_LOG_DIR=d:\admtools\log
REM ==================================================================================


IF "%1"=="" (
ECHO "paramerter nome"
SET Copy_options=/COPY:DATSO /MIR /DCOPY:T /L
) else (

IF NOT "%1"=="L" (
SET Copy_options=/COPY:DATSO /MIR /DCOPY:T
) else (
SET Copy_options=/COPY:DATSO /MIR /DCOPY:T /L
)
)

REM ECHO %0
REM ECHO %1

SET YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
SET Time_edit=%time: =0%
SET HHMMSS=%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%

SET Excludes_files="" ""
SET Excludes_directories="" "" ""
SET File_selection_options=

SET Retry_options=/R:0 /W:1

SET Log_file="%COPY_LOG_DIR%\%COPY_TOPIC%_%COPY_NAME%_%YYYYMMDD%_%HHMMSS%.log"


REM --------------------------------------------------------------
rem SET Logging_options=/TEE /LOG:%Log_file%
rem SET Logging_options=/TEE /FP /LOG:%Log_file%
rem SET Logging_options=/TEE /X /FP /LOG:%Log_file%

SET Logging_options=/TEE /V /X /FP /LOG:%Log_file%

REM --------------------------------------------------------------

SET Source="%COPY_SRC_DIR%"
SET Destination="%COPY_DST_DIR%"
REM SET File=*.*
SET Options=%Copy_options% %File_selection_options% %Retry_options% %Logging_options%

:: 自動生成、ROBOCOPY実行コマンドを画面表示で確認する
ECHO.
ECHO ↓↓↓↓↓ 自動生成、ROBOCOPY実行コマンド ここから ↓↓↓↓↓
ECHO.
ECHO robocopy.exe %Source% %Destination% %Options%
ECHO.
ECHO ↑↑↑↑↑ 自動生成、ROBOCOPY実行コマンド ここまで ↑↑↑↑↑

SET Console_input=""

ECHO ******************************************************************************
ECHO *
ECHO * 重要!!  バッチ処理実行確認
ECHO * ROBOモード  :%ROBOMODE%
ECHO * トピック   :%COPY_TOPIC%
ECHO * 移行フォルダ :%COPY_NAME%
ECHO * コピー元 :%COPY_SRC_DIR%
ECHO * コピー先   :%COPY_DST_DIR%
ECHO * 移行ログパス :%COPY_LOG_DIR%
ECHO * 移行ログ名前 :%Log_file%
ECHO *
ECHO * 自動生成した、ROBOCOPY実行コマンドを確認し、処理続行選択について、
ECHO * 以下のように入力(大文字と小文字は区別なし)。
ECHO *
ECHO * start :ROBOCOPYの実行を開始します
ECHO * quit :ROBOCOPYの実行を中止し、当バッチ処理を中止
ECHO * 上記以外の文字:当バッチ処理の先頭に戻ります
ECHO *
ECHO ******************************************************************************

ECHO %1
IF "%1"=="G" GOTO ROBOCOPY実行

SET /P Console_input="処理続行選択(上記参照) : "

IF /I "%Console_input%"=="quit" EXIT
IF /I "%Console_input%"=="start" GOTO ROBOCOPY実行
GOTO 開始

pause

:ROBOCOPY実行

MKDIR %COPY_DST_DIR%\%COPY_NAME%

robocopy.exe %Source% %Destination% %Options%
ECHO %ERRORLEVEL%

IF %ERRORLEVEL%==16 ECHO ***FATAL ERROR*** & GOTO END
IF %ERRORLEVEL%==8 ECHO **FAILED COPIES** & GOTO END
IF %ERRORLEVEL%==4 ECHO *MISMATCHES* & GOTO END
IF %ERRORLEVEL%==3 ECHO XTRA COPY & GOTO END
IF %ERRORLEVEL%==2 ECHO EXTRA FILES & GOTO END
IF %ERRORLEVEL%==1 ECHO Copy successful & GOTO END
IF %ERRORLEVEL%==0 ECHO --no change-- & GOTO END
:END

IF "%1"=="G" GOTO ROBOCOPY終了
pause

:ROBOCOPY終了
EXIT /b %ERRORLEVEL%
bbbbb

00_CopyGEN.vbs

MYFILE = "D:\admtools\test\00_CopySKEL.bat"

'Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
Set objFile = objFSO.OpenTextFile("00_CopyGEN.INI")
'Set objFile = objFSO.OpenTextFile(MYFILE)
If Err.Number = 0 Then
Do While objFile.AtEndOfStream <> True
'WScript.Echo objFile.ReadLine

CHWORD = objFile.ReadLine
'CHWORD = "AAAA"
OFILE = CHWORD
Call CreateBatch(MYFILE,CHWORD,OFILE)

Loop
objFile.Close
Else
WScript.Echo "ファイルオープンエラー: " & Err.Description
End If
Else
WScript.Echo "エラー: " & Err.Description
End If
Set objFile = Nothing
Set objFSO = Nothing





Sub CreateBatch(MYFILE, CHWORD, OFILE)

'テキストファイルのフルパス
Dim myA(9) : Dim myB(9)
myA(0) = "####" : myB(0) = CHWORD
myA(2) = "" : myB(2) = ""
myA(3) = "" : myB(3) = ""
myA(4) = "" : myB(4) = ""
myA(5) = "" : myB(5) = ""
myA(6) = "" : myB(6) = ""
myA(7) = "" : myB(7) = ""
myA(8) = "" : myB(8) = ""
myA(9) = "" : myB(9) = ""
'「A.変更前」と「B.変更後」を指定する
'消去なら「""」 
'置換なら「"置換するものを書く"」
'---------------------------------
With CreateObject("Scripting.FileSystemObject")
With .GetFile(MYFILE).OpenAsTextStream
myALLData = .ReadAll
.Close
End With
'---------------------------------
For j = 0 To UBound(myA)
If myA(j) <> "" Then _
myALLData = Replace(myALLData, myA(j), myB(j))
Next
'---------------------------------
myFLD = .GetFile(MYFILE).ParentFolder & "\"

myExt = "." & .GetExtensionName(MYFILE)
myName = myFLD & .GetBaseName(MYFILE)

myName = OFILE

Do
i = i + 1
MYFILE2 = myName & "(" & i & ")" & myExt
If Not .FileExists(MYFILE2) Then Exit Do

Loop
'---------------------------------
With .OpenTextFile(MYFILE2, 2, True)
.Write myALLData
.Close
End With
End With

End Sub

Msgbox "END"

2014年5月16日金曜日

GEN


'GEN_CTL.vbs

MYSKEL = "D:\admtools\test\GEN_CTL.BAT"

INFILE = "GEN_CTL.INI"
OUTFILE = "GEN_CTL.txt"

'Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用
Dim objFile2 ' ファイル書き込み用

Dim INFILE_Batch_Name ' バッチ名(フォルダ名)
Dim Batch_File_Name ' バッチファイル名
Dim iNo

dim YYYYMMDD
dim Time_edit
dim HHMMSS


Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If Err.Number = 0 Then
Set objFile = objFSO.OpenTextFile(INFILE)
If Err.Number = 0 Then

Set objFSO2 = WScript.CreateObject("Scripting.FileSystemObject")

OUTFILE = OUTFILE & SYORI_JIKAN()

msgbox OUTFILE

Set objFile2 = objFSO2.OpenTextFile(OUTFILE, 2, True)


HaedoutOut(objFile2)

iNo=1
Do While objFile.AtEndOfStream <> True

INFILE_Batch_Name= objFile.ReadLine
Batch_File_Name = INFILE_Batch_Name & ".bat"

objFile2.WriteLine("REM *--------------------------------------------*")

objFile2.WriteLine("call " & Batch_File_Name)

objFile2.WriteLine(SYORI_JIKAN)

objFile2.WriteLine("if not " & "%ERRORLEVEL%" & " == 0 GOTO ERR" & iNo)

objFile2.WriteLine(" echo " & """ END """)
objFile2.WriteLine(SYORI_JIKAN)
objFile2.WriteLine(" GOTO OK" & iNo)

objFile2.WriteLine(":ERR" & iNo)
objFile2.WriteLine(" echo " & """ ABEND """ & " %ERRORLEVEL% ")
objFile2.WriteLine(SYORI_JIKAN)

objFile2.WriteLine(":OK" & iNo)

iNo = iNo + 1
Loop

TrailoutOut(objFile2)

objFile.Close
objFile2.Close
Else
WScript.Echo " FILE OPEN ERROR: " & INFILE & Err.Description
End If
Else
WScript.Echo "ERROR: " & Err.Description
End If

Set objFile = Nothing
Set objFile2 = Nothing
Set objFSO = Nothing
Set objFSO2 = Nothin


'*************************************************************
'* Current time
'*************************************************************

Function SYORI_JIKAN()

dim YYYYMMDD
dim Time_edit
dim HHMMSS


YYYYMMDD="%date:~0,4%%date:~5,2%%date:~8,2%"

echo YYYYMMDD
Time_edit="%time: =0%"
HHMMSS="%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%"

Msgbox YYYYMMDD & HHMMSS

SYORI_JIKAN = now
SYORI_JIKAN = "XRETURN"

End Function




'*************************************************************
'* Generate Batch Head Statement
'*************************************************************

Sub HaedoutOut(objFile2)

objFile2.WriteLine("REM **********************************************")
objFile2.WriteLine("REM ** HEADER RECORD *****************************")
objFile2.WriteLine("REM **********************************************")

dim YYYYMMDD
dim Time_edit
dim HHMMSS

objFile2.WriteLine(":開始")
objFile2.WriteLine("@echo off")

objFile2.WriteLine("COPY_TOPIC=移行")
objFile2.WriteLine("COPY_NAME=####")
objFile2.WriteLine("COPY_LOG_DIR=d:\admtools\log")

YYYYMMDD="%date:~0,4%%date:~5,2%%date:~8,2%"
Time_edit="%time: =0%"
HHMMSS="%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%"

objFile2.WriteLine(YYYYMMDD)
objFile2.WriteLine(Time_edit)
objFile2.WriteLine(HHMMSS)

End Sub


'*************************************************************
'* Generate Batch Trail Statement
'*************************************************************

Sub TrailoutOut(objFile2)

objFile2.WriteLine("REM **********************************************")
objFile2.WriteLine("REM ** TRAILER RECORD ****************************")
objFile2.WriteLine("REM **********************************************")

End Sub



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

GEN_CTL.INI


GEN1
GEN2








2014年5月12日月曜日

情報

http://www.atmarkit.co.jp/ait/articles/1309/27/news116.html

ROBOCOPY 生成

MYFILE = "D:\admtools\test\CopySKEL.bat"

'Option Explicit
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル読み込み用

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
 Set objFile = objFSO.OpenTextFile("DIRINFO.txt")
 If Err.Number = 0 Then
  Do While objFile.AtEndOfStream <> True

   CHWORD = objFile.ReadLine
   OFILE = CHWORD
   Call CreateBatch(MYFILE,CHWORD,OFILE)

  Loop
  objFile.Close
 Else
  WScript.Echo "ファイルオープンエラー: " & Err.Description
 End If
Else
 WScript.Echo "エラー: " & Err.Description
End If

Set objFile = Nothing
Set objFSO = Nothing



Sub CreateBatch(MYFILE, CHWORD, OFILE)

'テキストファイルのフルパス
Dim myA(9) : Dim myB(9)
myA(0) = "####" : myB(0) = CHWORD
myA(2) = "" : myB(2) = ""
myA(3) = "" : myB(3) = ""
myA(4) = "" : myB(4) = ""
myA(5) = "" : myB(5) = ""
myA(6) = "" : myB(6) = ""
myA(7) = "" : myB(7) = ""
myA(8) = "" : myB(8) = ""
myA(9) = "" : myB(9) = ""
'「A.変更前」と「B.変更後」を指定する
'消去なら「""」 
'置換なら「"置換するものを書く"」
'---------------------------------
With CreateObject("Scripting.FileSystemObject")
 With .GetFile(MYFILE).OpenAsTextStream
  myALLData = .ReadAll
  .Close
 End With
'---------------------------------
For j = 0 To UBound(myA)
If myA(j) <> "" Then _
 myALLData = Replace(myALLData, myA(j), myB(j))
Next
'---------------------------------
myFLD = .GetFile(MYFILE).ParentFolder & "\"

myExt = "." & .GetExtensionName(MYFILE)
myName = myFLD & .GetBaseName(MYFILE)

myName = OFILE

Do
 i = i + 1
 MYFILE2 = myName & "(" & i & ")" & myExt
 If Not .FileExists(MYFILE2) Then Exit Do

Loop
'---------------------------------
 With .OpenTextFile(MYFILE2, 2, True)
  .Write myALLData
  .Close
 End With
End With

End Sub

Msgbox " END "

ROBOCOPY SKEL

:開始

@echo off

REM =============環境に応じて、修正してください。=====================================
set COPY_TOPIC=移行
set COPY_NAME=####
set COPY_SRC_DIR=d:\test\####
set COPY_DST_DIR=d:\testd\####
set COPY_LOG_DIR=d:\admtools\log
REM ==================================================================================


set YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
set Time_edit=%time: =0%
set HHMMSS=%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%

set Copy_options=/COPY:DATSO /MIR

set Excludes_files="" ""
set Excludes_directories="" "" ""
set File_selection_options=

set Retry_options=/R:0 /W:1

set Log_file="%COPY_LOG_DIR%\%COPY_TOPIC%_%COPY_NAME%_%YYYYMMDD%_%HHMMSS%.log"

rem set Logging_options=/TEE /LOG:%Log_file%
rem set Logging_options=/TEE /FP /LOG:%Log_file%
rem set Logging_options=/TEE /X /FP /LOG:%Log_file%
set Logging_options=/TEE /V /X /FP /LOG:%Log_file%

set Source="%COPY_SRC_DIR%"
set Destination="%COPY_DST_DIR%"
REM set File=*.*
set Options=%Copy_options% %File_selection_options% %Retry_options% %Logging_options%

:: 自動生成した、ROBOCOPY実行コマンドを画面表示で確認する
echo.
echo ↓↓↓↓↓ 自動生成した、ROBOCOPY実行コマンド ここから ↓↓↓↓↓
echo.
echo robocopy.exe %Source% %Destination% %Options%
echo.
echo ↑↑↑↑↑ 自動生成した、ROBOCOPY実行コマンド ここまで ↑↑↑↑↑

set Console_input=""

echo.
echo ******************************************************************************
echo *
echo * 重要!!  バッチ処理実行確認
echo * トピック   :%COPY_TOPIC%
echo * 移行フォルダ :%COPY_NAME%
echo * コピー元 :%COPY_SRC_DIR%
echo * コピー先   :%COPY_DST_DIR%
echo * 移行ログパス :%COPY_LOG_DIR%
echo * 移行ログ名前 :%Log_file%
echo *
echo * 自動生成した、ROBOCOPY実行コマンドを確認し、処理続行選択について、
echo * 以下のように入力してください(大文字と小文字は区別しません)。
echo *
echo * start :ROBOCOPYの実行を開始します
echo * quit :ROBOCOPYの実行を中止し、当バッチ処理を打ち切ります
echo * 上記以外の文字列 :当バッチ処理の先頭に戻ります
echo * (ログファイル名の日時も更新されます)
echo *
echo ******************************************************************************
echo.

set /P Console_input="処理続行選択(上記参照) : "

if /I "%Console_input%"=="quit" exit
if /I "%Console_input%"=="start" goto ROBOCOPY実行
goto 開始

pause

:ROBOCOPY実行

REM ★★★デイレクリがなければ作成する。

mkdir %COPY_DST_DIR%\%COPY_NAME%

robocopy.exe %Source% %Destination% %Options%

pause
rem exit

2014年5月11日日曜日

copy2 計画


■実績値
約20G 90分 5,521,643Byte/S 315.950MB/分 -> 5392.229KB/S = 42.1Mb/s

■QOS設定
12800KBps = 100Mbps

→ 30Mb/s -> 3840 KBps
→ 50Mb/s -> 6400 KBps
→ 70Mb/s -> 8960 KBps

-------------------------------------------------------------------------------

5/13 ●帯域制限テスト

2CPU(2048 * 2 GHz)

実データの一部(20G)

・30M/s (2度実施)
・50M/s (2度実施)
・70M/s (2度実施)

-------------------------------------------------------------------------------
5/14 ●多重実行テスト

2CPU(1024*2GHz)

・1JOB
・2JOB
・4JOB

-------------------------------------------------------------------------------
5/15 ●CPU増加テスト

4CPU(2048GHz)

・1JOB
・2JOB
・4JOB

-------------------------------------------------------------------------------
●報告後、100G程度から

実データをスケジュールに従い実行

開始時刻、コピーデータサイズ、想定時間、逐次実行









copy


●Rrobocopyオプション

■ /DCOPY:T ディレクトリタイムスタンプをコピーする

指定した場合、コピー元のフォルダ日付のままコピーされるのを確認済であるが、
指定しない場合、コピー日の日付けになるがよいか。

■ ログオプションで通常表示を省略した時の表示を確認する

/V を指定しない場合、結果ログに表示される "同じ"は、表示されなくなった。(/V:スキップされたファイルは表示されない)
/X を指定しない場合でも追加分は表示されるのは正しいか?
    /FP を指定しない場合でも、フルパスの結果が表示される。?


---------------------------------------------------------------------------------

■ショートカットファイル(.lnk)は、コピーされるが、そのショートカットファイル指定のリンク先のファイルはコピーされないことを確認 → 済



■ファイル内の文書からはハイパーリンクされている、外部ファイルはコピー対象とならない。→ 済

■オープン中のファイル内の文書からはハイパーリンクされている、外部ファイルはコピー対象とならない。
.lockファイルも同時にコピーされるが、移送後にオープンできる(SAVE前の状態)。→ 済




===================================================================================

★Qos設定テストしたサーバのパラメータシートを参考にすること

・Qosの設定単位は、xx MB/s (Mega Bytes) 1k=1024

・停止して反映必要か?

***********************************************************************************
***********************************************************************************
***********************************************************************************

3840 KBps = 3840/1024 *8 = 30Mbs

6400 KBps = 6400/1024 *8 = 50Mbs

8960 KBps = 3840/1024 *8 = 70Mbs

12800 KBps = 12800/1024 *8 = 100Mbs

===================================================================================








2014年5月7日水曜日

ROBO URL

http://www.atmarkit.co.jp/ait/articles/1309/27/news116.html

http://jp.fujitsu.com/platform/server/primergy/software/windows/technical/tips/w2008/w2008-01-02.html

http://d.hatena.ne.jp/kerorogunsou/20081204/1228394516

http://jyo-sis.seesaa.net/archives/201201-1.html

ROBOCOPY結果

開始: 2014年5月6日 20:47:31

新しいファイル コピー済み

合計 コピー済み スキップ 不一致 失敗 Extras
ディレクトリ: 455 455 455 0 0 0
ファイル: 8119 8119 0 0 0 0
バイト: 1.300 g 1.300 g 0 0 0 0
時刻: 0:16:49 0:03:36 0:00:00 0:01:38
終了: 2014年5月6日 20:52:46


終了: 2014年5月6日 20:52:46

---------------------------------------------------------------------------------------------------------------------------------

開始: 2014年5月6日 21:00:48

*EXTRA File 0 f:\趣味\f.txt
新しいファイル 0 d:\趣味\d.txt

合計 コピー済み スキップ 不一致 失敗 Extras
ディレクトリ: 455 455 0 0 0 0
ファイル: 8120 1 8119 0 0 1
バイト: 1.300 g 0 1.300 g 0 0 0
時刻: 0:14:37 0:00:00 0:00:00 0:14:37
終了: 2014年5月6日 21:15:26

終了: 2014年5月6日 21:15:26



---------------------------------------------------------------------------------------------------------------------------------

開始: 2014年5月6日 20:42:06

同じ


終了: 2014年5月6日 21:56:40

---------------------------------------------------------------------------------------------------------------------------------

ROBO

:開始

@echo off

set Name=
set Source_directory=d:\趣味
set Destination_directory=d:\testd
set Log_directory=d:\admtools\log

set YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
set Time_edit=%time: =0%
set HHMMSS=%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%

set Copy_options=/COPY:DATS /MIR /MT:8

set Excludes_files="" ""
set Excludes_directories="" "" ""
set File_selection_options=

set Retry_options=/R:0 /W:1

set Log_file="%Log_directory%\%Name%_%YYYYMMDD%_%HHMMSS%.log"

set Logging_options=/TEE /V /X /FP /LOG:%Log_file%

set Source="%Source_directory%"
set Destination="%Destination_directory%"
REM set File=*.*
set Options=%Copy_options% %File_selection_options% %Retry_options% %Logging_options%

:: 自動生成した、ROBOCOPY実行コマンドを画面表示で確認する
echo.
echo ↓↓↓↓↓ 自動生成した、ROBOCOPY実行コマンド ここから ↓↓↓↓↓
echo.
echo robocopy.exe %Source% %Destination% %Options%
echo.
echo ↑↑↑↑↑ 自動生成した、ROBOCOPY実行コマンド ここまで ↑↑↑↑↑

set Console_input=""

echo.
echo ******************************************************************************
echo * *
echo * 重要!!  バッチ処理実行確認 *
echo * *
echo * 自動生成した、ROBOCOPY実行コマンドを確認し、処理続行選択について、 *
echo * 以下のように入力してください(大文字と小文字は区別しません)。 *
echo * *
echo * start :ROBOCOPYの実行を開始します *
echo * quit :ROBOCOPYの実行を中止し、当バッチ処理を打ち切ります *
echo * 上記以外の文字列 :当バッチ処理の先頭に戻ります *
echo * (ログファイル名の日時も更新されます) *
echo * *
echo ******************************************************************************
echo.

set /P Console_input="処理続行選択(上記参照) : "

if /I "%Console_input%"=="quit" exit
if /I "%Console_input%"=="start" goto ROBOCOPY実行
goto 開始

pause

:ROBOCOPY実行
robocopy.exe %Source% %Destination% %Options%

pause
exit