2022年1月11日火曜日
excel関数で抽出
2021年12月5日日曜日
@echo off
rem 入力
rem [JCL] -- Exx20.txt
rem [CMP] -- Exx20.txt
rem [PACK]
rem ・実行:PACK2.bat
rem 出力
rem [Exx20_x回目(yymmdd)]
rem -- Exx20_COPY_JCL.txt
rem -- [本番データ取得_エビデンス]
rem Exx20_COPYSTEP新旧比較エビデンス.txt
rem 遅延環境変数を設定
setlocal ENABLEDELAYEDEXPANSION
SET EJOB=
rem ラベル「:loop」
:loop
rem ユーザーからの入力を変数「text」に代入する
set /p text="yymmddの値を入力してください…:"
rem 「exit」と入力されたとき、バッチファイルを終了する
if "%text%" == "exit" goto :end
rem ラベル「:loop」に戻る
rem goto :loop
if "%text%" == "" Set text=yymmdd
echo %text%
pause
rem --------------------------------------
rem 一覧取得
rem --------------------------------------
DIR /b ..\JCL\*.txt>list.txt
rem --------------------------------------
rem 実行
rem --------------------------------------
set /a n=0
FOR /F %%a IN (list.txt) DO (
rem echo %%a
SET EJOB=%%a
rem SET EJOB=!EJOB:~,5!
SET /a n=n+1
SET EJOB=!EJOB:.txt=!
echo !n! ###!EJOB!###
call:Pack2 !EJOB! !text!
)
echo :
echo === !n! 件、処理しました。===
pause
:end
exit /b
rem --------------------------------------
rem パッキングする
rem --------------------------------------
:Pack2
SET TGT_FD=!EJOB!
ECHO ■!TGT_FD!■
IF EXIST !TGT_FD! RD !TGT_FD! /S /Q
MD !TGT_FD!
IF EXIST ..\JCL\!EJOB!.txt (
COPY ..\JCL\!EJOB!.txt !TGT_FD!\!EJOB!_COPY_JCL.txt
) ELSE (
echo ..\JCL\!EJOB!.txtは存在しません。
)
IF EXIST ..\CMP\!EJOB!.txt (
COPY ..\CMP\!EJOB!.txt !TGT_FD!\!EJOB!_COPYSTEP新旧比較エビデンス.txt
) ELSE (
echo ..\CMP\!EJOB!.txtは存在しません。
)
EXIT /b
endlocal
@echo off
rem 入力
rem [JCL] -- Exx20.txt
rem [CMP] -- Exx20.txt
rem [PACK]
rem ・実行:PACK.bat
rem 出力
rem [Exx20_x回目(yymmdd)]
rem -- Exx20_COPY_JCL.txt
rem -- [検証_エビデンス]
rem -- [本番データ取得_エビデンス]
rem Exx20_COPYSTEP新旧比較エビデンス.txt
rem ログ_実行LOG.txt
rem 遅延環境変数を設定
setlocal ENABLEDELAYEDEXPANSION
SET EJOB=
rem ラベル「:loop」
:loop
rem ユーザーからの入力を変数「text」に代入する
set /p text="yymmddの値を入力してください…:"
rem 「exit」と入力されたとき、バッチファイルを終了する
if "%text%" == "exit" goto :end
rem ラベル「:loop」に戻る
rem goto :loop
if "%text%" == "" Set text=yymmdd
echo %text%
pause
rem --------------------------------------
rem 一覧取得
rem --------------------------------------
DIR /b ..\JCL\*.txt>list.txt
rem --------------------------------------
rem 実行
rem --------------------------------------
set /a n=0
FOR /F %%a IN (list.txt) DO (
rem echo %%a
SET EJOB=%%a
rem SET EJOB=!EJOB:~,5!
SET /a n=n+1
SET EJOB=!EJOB:.txt=!
echo !n! ###!EJOB!###
call:Pack1 !EJOB! !text!
)
echo :
echo === !n! 件、処理しました。===
pause
:end
exit /b
rem --------------------------------------
rem パッキングする
rem --------------------------------------
:Pack1
SET TGT_FD=!EJOB!_x回目(!text!)
SET TGT_HON_FD=!TGT_FD!\本番データ取得_エビデンス
SET TGT_KEN_FD=!TGT_FD!\検証_エビデンス
ECHO ■!TGT_FD!■
IF EXIST !TGT_FD! RD !TGT_FD! /S /Q
MD !TGT_FD!
MD !TGT_HON_FD!
MD !TGT_KEN_FD!
IF EXIST ..\JCL\!EJOB!.txt (
COPY ..\JCL\!EJOB!.txt !TGT_FD!\!EJOB!_COPY_JCL.txt
) ELSE (
echo ..\JCL\!EJOB!.txtは存在しません。
)
TYPE nul > !TGT_HON_FD!\ログ_実行LOG.txt
IF EXIST ..\CMP\!EJOB!.txt (
COPY ..\CMP\!EJOB!.txt !TGT_HON_FD!\!EJOB!_COPYSTEP新旧比較エビデンス.txt
) ELSE (
echo ..\CMP\!EJOB!.txtは存在しません。
)
EXIT /b
endlocal
2021年12月2日木曜日
2021年9月24日金曜日
VBS VTOC データセット VOL&サイズ出力
TEST.AA.J1.S1.TEST1 VOL01
TEST.AA.J2.S2.TEST2A VOL02 +
TEST.AA.J3.S3.TEST3AAA VOL003
TEST.AA.J4.S4.TEST4 VOL004+
TEST.AA.J1.S1.TEST1 1 2 3
TEST.AA.J2.S2.TEST2A 22 200 0
TEST.AA.J3.S3.TEST3AAA 333 30 33
TEST.AA.J4.S4.TEST4 4444 44 44
endlocal
TEST.AA.J2.S2.TEST2A,VOL02,+
TEST.AA.J3.S3.TEST3AAA,VOL003
TEST.AA.J4.S4.TEST4,VOL004,+
VOL02,+,TEST.AA.J2.S2.TEST2A,22,200,0
VOL003,,TEST.AA.J3.S3.TEST3AAA,333,30,33
VOL004,+,TEST.AA.J4.S4.TEST4,4444,44,44
Option Explicit
2021年9月17日金曜日
VBS IO2 ファイルを読んで、文字列編集して出力する
入力データ log_kensu.txt
*****************************
--------------------------------1ICE805I 0 JOBNAME: AULOO , STEPNAME: DUMMYC01
--------------------------------
--------------------------------
ICE045I 0 RECORDS - IN: 12346, OUT: 56789
--------------------------------
--------------------------------
1ICE805I 0 JOBNAME: AULOO , STEPNAME: DUMMYC02
--------------------------------
--------------------------------
ICE045I 0 RECORDS - IN: 6, OUT: 9
setlocal enabledelayedexpansion
@echo off
cls
echo %1
echo %~0
echo ---------------------------------------------
echo ログファイルから件数箇所を出力します
echo ---------------------------------------------
echo;
SET /P ANSWER="実行します。よろしいですか (Y/N)?"
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={yes} (goto :yes)
EXIT
:yes
IF EXIST %1_結果 DEL %1_結果
cscript /nologo bin\log_kensu.vbs %1
endlocal
log_kensu.vbs
Option Explicit
Dim Args
Dim Cmd
Dim sName
Dim sArg1
Dim lPosStr
Dim iSW
Dim sLine
Dim sEditLine
Dim aryStrings
'--
Dim sJobName
Dim sJobNameT,sJobNameV
Dim sStepName
Dim sStepNameT,sStepNameV
'--
Dim sINName
Dim sINNameT,sINNameV
Dim sOUTName
Dim sOUTNameT,sOUTNameV
Dim fso
Dim iFile
Dim oFile
'----------------------------------------
Set Args = WScript.Arguments
If Args.Count < 1 Then
WScript.Echo "ドラッグ&ドロップしてを実行。"
WScript.Quit
End If
WScript.Echo Args.Count
sArg1 = Wscript.Arguments(0)
WScript.Echo sArg1
Dim OUTFNAME
OUTFNAME = sArg1 & "_結果" & ".csv"
'----------------------------------------
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set iFile = fso.OpenTextFile(sArg1, 1, False, 0)
Set oFile = fso.OpenTextFile(OUTFNAME, 2, True)
iSW = 0
Do Until iFile.AtEndOfStream
sLine = iFile.ReadLine
' ---------------------------------------
lPosStr = InStr(1, sLine, "1ICE805I 0 JOBNAME:")
If lPosStr > 0 Then
sEditLine = trim(Mid(sLine, len("1ICE805I 0 ") ))
aryStrings = Split(sEditLine, ",")
sJobName = trim(aryStrings(0))
sStepName = trim(aryStrings(1))
aryStrings = Split(sJobName, ":")
sJobNameT = trim(aryStrings(0))
sJobNameV = trim(aryStrings(1))
aryStrings = Split(sStepName, ":")
sStepNameT = trim(aryStrings(0))
sStepNameV = trim(aryStrings(1))
iSW = 0
End If
' ---------------------------------------
lPosStr = InStr(1, sLine, "RECORDS - IN:")
If lPosStr > 0 Then
sEditLine = trim(Mid(sLine, len(" ICE045I 0 RECORDS - ") ))
aryStrings = Split(sEditLine, ",")
aryStrings = Split(sEditLine, ",")
sINName = trim(aryStrings(0))
sOUTName = trim(aryStrings(1))
aryStrings = Split(sINName, ":")
sINNameT = trim(aryStrings(0))
sINNameV = trim(aryStrings(1))
aryStrings = Split(sOUTName, ":")
sOUTNameT = trim(aryStrings(0))
sOUTNameV = trim(aryStrings(1))
oFile.WriteLine sJobNameT & "," & sJobNameV & "," & _
sStepNameT & "," & sStepNameV & "," & _
sINNameT & "," & sINNameV & "," & _
sOUTNameT & "," & sOUTNameV
iSW = 1
End If
Loop
'
iFile.Close
oFile.Close
JOBNAME,AULOO,STEPNAME,DUMMYC01,IN,12346,OUT,56789
JOBNAME,AULOO,STEPNAME,DUMMYC02,IN,6,OUT,9
2018年11月12日月曜日
VBA20181112
Dim rng As Range
Set rng = Range("B1")
'rng.Select
Dim i As Integer
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i = 20
Set rng = Union(rng, Range("A" & i - 1 & ":C" & i + 1))
rng.BorderAround LineStyle:=xlContinuous
rng.Interior.Color = &HC0C0C0
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set rng = Range("B1")
Set rng = Union(rng, Range("D" & i - 1 & ":G" & i + 1))
rng.BorderAround LineStyle:=xlContinuous
rng.Interior.Color = vbWhite
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i = 23
Set rng = Range("B1")
Set rng = Union(rng, Range("A" & i - 1 & ":C" & i + 1))
rng.BorderAround LineStyle:=xlContinuous
rng.Interior.Color = &HC0C0C0
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set rng = Range("B1")
Set rng = Union(rng, Range("D" & i - 1 & ":G" & i + 1))
rng.BorderAround LineStyle:=xlContinuous
rng.Interior.Color = vbWhite
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i = 29
Set rng = Range("A" & i - 1 & ":C" & i + 1)
rng.BorderAround LineStyle:=xlContinuous
rng.Interior.Color = &HC0C0C0
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set rng = Range("D" & i - 1 & ":G" & i + 1)
rng.BorderAround LineStyle:=xlContinuous
rng.Interior.Color = vbWhite
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
i = 32
Set rng = Range("A" & i - 1 & ":C" & i + 1)
With rng
.BorderAround LineStyle:=xlContinuous
.Borders(xlEdgeTop).LineStyle = xlLineStyleNone
.Interior.Color = &HC0C0C0
End With
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set rng = Range("D" & i - 1 & ":G" & i + 1)
With rng
.BorderAround LineStyle:=xlContinuous
.Borders(xlEdgeTop).LineStyle = xlDash
.Interior.Color = vbWhite
End With
Set rng = Nothing
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set rng = Range("B1")
'rng.Select
Set rng = Union(rng, Range("E2:F3"))
rng.Select
rng.BorderAround LineStyle:=xlContinuous
rng.Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
'rng.Borders.LineStyle = xlLineStyleNone
rng.Borders(xlEdgeBottom).LineStyle = xlDash
'背景色
rng.Interior.Color = vbRed
'Application.Union.Borders.
End Sub
Sub rrr()
Dim rng As Range
Set rng = Cells(1, 1)
'rng.Select
Set rng = Union(rng, Cells(3, 4))
rng.Select
'rng.Borders.Color = vbRed
'rng.Borders.LineStyle
rng.Borders(xlEdgeTop).LineStyle = xlContinuous
rng.Borders(xlEdgeLeft).LineStyle = xlContinuous
rng.Borders(xlEdgeRight).LineStyle = xlContinuous
rng.Borders(xlEdgeBottom).LineStyle = xlContinuous
Set rng = Nothing
Set rng = Cells(7, 7)
'rng.Select
Set rng = Union(rng, Cells(10, 12))
rng.Select
rng.BorderAround LineStyle:=xlContinuous
rng.Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
'rng.Borders.LineStyle = xlLineStyleNone
rng.Borders(xlEdgeBottom).LineStyle = xlDash
'背景色
rng.Interior.Color = vbBlue
'Application.Union.Borders.
End Sub
Sub qqq()
Dim rng As Range
Set rng = Range("B1")
'rng.Select
Set rng = Union(rng, Range("A2:C3"))
rng.Select
'rng.Borders.Color = vbRed
'rng.Borders.LineStyle
rng.Borders(xlEdgeTop).LineStyle = xlContinuous
rng.Borders(xlEdgeLeft).LineStyle = xlContinuous
rng.Borders(xlEdgeRight).LineStyle = xlContinuous
rng.Borders(xlEdgeBottom).LineStyle = xlContinuous
Set rng = Nothing
Set rng = Range("B1")
'rng.Select
Set rng = Union(rng, Range("E2:F3"))
rng.Select
rng.BorderAround LineStyle:=xlContinuous
rng.Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
'rng.Borders.LineStyle = xlLineStyleNone
rng.Borders(xlEdgeBottom).LineStyle = xlDash
'背景色
rng.Interior.Color = vbRed
'Application.Union.Borders.
End Sub