2015年7月21日火曜日

ああ

Option Explicit

Dim objFileSys
Dim sScriptPath
Dim sReadFile
Dim sWriteFile
Dim objRStream
Dim objWStream
Dim sText

Dim lPos
Dim lLen
Dim sInput
Dim sPath
Dim sFile
Dim sString
Dim sSearch
Dim sFrFull
Dim sToFull

Dim sXFrFull
Dim sXToFull

Dim sStmt
Dim sOpts
Dim log

Set objFileSys = CreateObject("Scripting.FileSystemObject")

sScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
sReadFile = objFileSys.BuildPath(sScriptPath,"aa.txt")
sWriteFile = objFileSys.BuildPath(sScriptPath,"WriteData.txt")

Set objRStream = objFileSys.OpenTextFile(sReadFile, 1)
Set objWStream = objFileSys.OpenTextFile(sWriteFile, 2, True)

sXFrFull = "E:\"
sXToFull = "D:\"
'sOpts = "/COPY:DATSO /V /R:1 /W:1 /FP /TS /TEE /L"
sOpts = "/COPY:DATSO /V /R:1 /W:1 /FP /TS /TEE"
log ="/LOG+:C:\Users\draftmaster\Desktop\logtest.txt"

Dim sOpt2
sOpt2 = "/MIR /ZB"

lPos = 0
lPos = 0

'WScript.echo "ff=" & sReadFile

Do Until objRStream.AtEndOfStream = True

sText = objRStream.ReadLine

sInput = "aab\bb\cc.txt" '検索対象の文字列
sString = Trim(sText)

lLen = Len(sString)
lPos = InstrRev(sString, "\")

sPath = Mid(sString,1,lPos - 1)
sFile = Mid(sString, lPos + 1,lLen - lPos)

sFrFull = sXFrFull & sPath
sToFull = sXToFull & sPath

sStmt = "Robocopy.exe " & sFrFull & " " & sToFull & " " & sFile & " " & sOpts & " " & log & " " & sOpt2

' WScript.echo "sStmt=" & sStmt

objWStream.WriteLine sStmt

Loop

objRStream.Close
objWStream.Close

Set objRStream = Nothing
Set objWStream = Nothing
Set objFileSys = Nothing

2015年7月18日土曜日

url

(http://hotfixv4.microsoft.com/Windows%20Vista/sp2/Fix227587/6000/free/345471_intl_x64_zip.exe)


http://jp.fujitsu.com/platform/server/primergy/technical/construct/pdf/win2008-fileserver-tips.pdf

http://superuser.com/questions/734095/robocopy-error-1314-0x00000522-on-windows-7-home-premium

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

I've got data in my domain (domainA) which I need to copy to another domain (domainB) with which I have a two-way domain wide external AD trust.

So I have a management machine in domainA. I've got the admins in domainB to create an account for me and have given it full control to a share in domainB. On the source data in domainA I have given the account from domainB full control. Both drives mapped and I can do a manual copy between shares.

robocopy y: z: /MIR /ZB /W:5
Y: = Source
Z: = Destination

I keep getting the error:
2010/04/22 11:09:07 ERROR 5 (0x00000005) Copying File Y:\Neels.docx
Access is denied.
Waiting 0 seconds... Retrying...

I would like the NTFS permissions to be copied over also - please help. Thanks, N

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
No, but it may delete files at the destination.
If files contained in the destination do not exist in the source, they are purged.



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

https://social.technet.microsoft.com/Forums/windowsserver/en-US/b36748cd-14d1-47a5-9fb6-878ca93ad6fc/robocopy-not-copying-ntfs-permissions

2015年7月12日日曜日

ExtrasList.bat


@echo off

Set ExtrasListPGM=ExtrasList.vbs

:: 必要に応じてファイルを変更する!
Set BaseFile=o.txt
Set COMPFile=p.txt
Set RESLFile=w.txt
Set ExcdFile=x.txt

ECHO *******************************************
ECHO cscript scripts\%ExtrasListPGM% %BaseFile% %COMPFile% %RESLFile% %ExcdFile%
ECHO ********************************************

cscript //nologo scripts\%ExtrasListPGM% %BaseFile% %COMPFile% %RESLFile% %ExcdFile%

IF %ERRORLEVEL% EQU 0 GOTO ERR0
IF %ERRORLEVEL% NEQ 0 GOTO ERR9
EXIT

:ERR0
ECHO %ERRORLEVEL% **正常**
pause
::EXIT

:ERR9
ECHO %ERRORLEVEL% **エラー**
pause
::EXIT

pause

ExtrasList.vbs

Option Explicit

Dim objFileSys
Dim objOStream
Dim objPStream
Dim objWStream
Dim objXStream

Dim sScriptPath
Dim sFilePath

Dim sOFile
Dim sPFile
Dim sWFile
Dim sXFile

Dim OFILE
Dim PFILE
Dim WFILE
Dim XFILE

'データ
Dim sOtext
Dim sPtext

'カウンター
Dim iOCnt
Dim iPCnt
Dim iWCnt
Dim iXCnt

'外部パラメータ
Dim iArgCnt

'外部パラメータ初期化
OFILE = "o.txt"
PFILE = "p.txt"
WFILE = "w.txt"
XFILE = "x.txt"

iArgCnt = WScript.Arguments.Count
If iArgCnt = 4 Then
OFILE = WScript.Arguments(0)
PFILE = WScript.Arguments(1)
WFILE = WScript.Arguments(2)
XFILE = WScript.Arguments(3)
Else
OFILE = "o.txt"
PFILE = "p.txt"
WFILE = "w.txt"
XFILE = "x.txt"
End If
WScript.Sleep 1000


'環境設定
Set objFileSys = CreateObject("Scripting.FileSystemObject")

sScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
sFilePath = Replace(sScriptPath,"scripts\","")

'WScript.echo sScriptPath & " " & sFilePath

sOFile = objFileSys.BuildPath(sFilePath,OFILE)
sPFile = objFileSys.BuildPath(sFilePath,PFILE)
sWFile = objFileSys.BuildPath(sFilePath,WFILE)
sXFile = objFileSys.BuildPath(sFilePath,XFILE)


'ファイルに存在チェックとオープン

If objFileSys.FileExists(sOFile) Then
Set objOStream = objFileSys.OpenTextFile(sOFile, 1)
Else
WScript.Echo "Open Error " & sOFile
Wscript.Quit(9)
End If

If objFileSys.FileExists(sPFile) Then
Set objPStream = objFileSys.OpenTextFile(sPFile, 1)
Else
WScript.Echo "Open Error " & sPFile
Wscript.Quit(9)
End If

Set objWStream = objFileSys.OpenTextFile(sWFile, 2, True)
Set objXStream = objFileSys.OpenTextFile(sXFile, 2, True)

'カウンター初期化
iOCnt = 0
iPCnt = 0
iWCnt = 0
iXCnt = 0

Do Until objOStream.AtEndOfStream = True

sOtext = objOStream.ReadLine
iOCnt = iOCnt + 1

'WScript.echo "O=" & sOtext

Do Until objPStream.AtEndOfStream = True or sOtext <= sPtext If sOtext > sPtext Then
sPtext = objPStream.ReadLine
iPCnt = iPCnt + 1

'WScript.echo " P=" & sPtext
End If
Loop

If sOtext = sPtext Then
objWStream.WriteLine sOtext
iWCnt = iWCnt + 1

'WScript.echo " W=" & sOtext
Else
objXStream.WriteLine sOtext
iXCnt = iXCnt + 1

'WScript.echo "■X=" & sOtext
End If

Loop

WScript.echo WScript.ScriptFullName
WScript.echo " " & sOFile & " SORCE :" & iOCnt
WScript.echo " " & sPFile & " MATCHING :" & iPCnt
WScript.echo " " & sWFile & " RES MATCH :" & iWCnt
WScript.echo " " & sXFile & " RES UNMACH :" & iXCnt

objOStream.Close
objPStream.Close
objWStream.Close
objXStream.Close

Set objOStream = Nothing
Set objPStream = Nothing
Set objWStream = Nothing
Set objXStream = Nothing

Set objFileSys = Nothing

Wscript.Quit(0)

2015年7月10日金曜日

AAAAAAA

Option Explicit

Dim objFileSys
Dim strScriptPath
Dim strReadFile
Dim strWriteFile
Dim objReadStream
Dim objWriteStream
Dim sText
Dim iPos
Dim sDataNew
Dim sDataOld
Dim KEYWARD

KEYWARD = "E:\copy\"

Set objFileSys = CreateObject("Scripting.FileSystemObject")

strScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
strReadFile = objFileSys.BuildPath(strScriptPath,"aa.txt")
strWriteFile = objFileSys.BuildPath(strScriptPath,"WriteData.txt")

Set objReadStream = objFileSys.OpenTextFile(strReadFile, 1)
Set objWriteStream = objFileSys.OpenTextFile(strWriteFile, 2, True)

iPos = 0
sDataNew = ""
sDataOld = ""

Do Until objReadStream.AtEndOfStream = True

sText = objReadStream.ReadLine

'#文字検索し、検索文字以降を出力対象にする
iPos = InStr(sText,KEYWARD)
If iPos <> 0 Then
sDataNew = Mid(sText,iPos)
'sDataNew = iPos
'#出力対象行の比較をし、内容が異なれば出力する  
If sDataNew <> sDataOld Then
objWriteStream.WriteLine sDataNew
WScript.echo sDataNew
End If

sDataOld = sDataNew
End If
Loop

objReadStream.Close
objWriteStream.Close

Set objReadStream = Nothing
Set objWriteStream = Nothing
Set objFileSys = Nothing

2015年7月5日日曜日

http://pf-j.sakura.ne.jp/program/dos/doscmd/robocopy.htm

NTP

https://support.microsoft.com/ja-jp/kb/2842683/ja
http://www.atmarkit.co.jp/ait/articles/0508/12/news089.html


http://www.atmarkit.co.jp/ait/articles/1502/13/news147.html

https://social.technet.microsoft.com/Forums/windowsserver/ja-JP/94a68eb1-1ca0-47f7-b333-d8808e67ff07/robocopy?forum=winserver8



2015年7月1日水曜日

文字置き換え(テキストファイル行単位)



Option Explicit

Dim objFileSys
Dim strScriptPath
Dim strReadFile
Dim strWriteFile
Dim objReadStream
Dim objWriteStream
Dim strText

Set objFileSys = CreateObject("Scripting.FileSystemObject")

strScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
strReadFile = objFileSys.BuildPath(strScriptPath,"TestData.txt")
strWriteFile = objFileSys.BuildPath(strScriptPath,"WriteData.txt")

WScript.echo WScript.ScriptFullName
WScript.echo WScript.ScriptName


Set objReadStream = objFileSys.OpenTextFile(strReadFile, 1)
Set objWriteStream = objFileSys.OpenTextFile(strWriteFile, 2, True)

Do Until objReadStream.AtEndOfStream = True

strText = objReadStream.ReadLine
Dim strString

'WScript.echo strText
'文字列の最初から、バイナリ モードで比較を行います。"YXXYXXPXXY"を返します。
strString = Replace(strText, "失敗", "FAILD")

'objWriteStream.WriteLine strText
objWriteStream.WriteLine strString
Loop

objReadStream.Close
objWriteStream.Close

Set objReadStream = Nothing
Set objWriteStream = Nothing
Set objFileSys = Nothing


Dir一覧(ROBO)

:開始

@ECHO off

:: =============環境に応じて、修正してください。=====================================
:: MODE:
:: G  :確認画面を表示しない 実際のコピーをする
:: L :
:: none    :確認画面を表示する  コピー実行する
::

SET DIR_SRC_PATH=E:\copy\from
SET DIR_DST_PATH=E:\copy\to
SET DIR_LOG_PATH=E:\log\radius

:: ==================================================================================


IF "%1"=="" (
SET Copy_OPTIONS=/COPY:DATSO /E /PURGE /L
) ELSE (

IF "%1"=="L" (
SET Copy_OPTIONS=/COPY:DATSO /E /PURGE /L
) ELSE (
SET Copy_OPTIONS=/COPY:DATSO /E /PURGE /L
)
)

SET File_sel_OPTIONS=

SET Retry_OPTIONS=/R:0 /W: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 LOG_FILE=%DIR_LOG_PATH%\%YYYYMMDD%_%HHMMSS%.log

SET Log_OPTIONS=/NC /NFL /NP /TEE /LOG:%LOG_FILE%

SET Excludes_files="" ""
SET Excludes_dir="" "" ""

:: --------------------------------------------------------------

SET OPTIONS=%Copy_OPTIONS% %File_sel_OPTIONS% %Retry_OPTIONS% %Log_OPTIONS%

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

SET Console_input=""

ECHO ******************************************************************************
ECHO * 重要!!  バッチ処理実行確認
ECHO * ROBOモード  :%ROBOMODE%
ECHO * コピー元 :%DIR_SRC_PATH%
ECHO * コピー先   :%DIR_DST_PATH%
ECHO * 移行ログパス :%DIR_LOG_PATH%
ECHO * 移行ログ名前 :%LOG_FILE%
ECHO *
ECHO * 自動生成した、ROBOCOPY実行コマンドを確認し、処理続行選択について、
ECHO * 以下のように入力(大文字と小文字は区別なし)。
ECHO *
ECHO * start :ROBOCOPYの実行を開始します
ECHO * quit :ROBOCOPYの実行を中止し、当バッチ処理を中止
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実行

robocopy.exe %DIR_SRC_PATH% %DIR_DST_PATH% %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%
EXIT /b 0