2020-03-09 23:53:20 spawnshow

批次檔案教學

superuser

@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------

echo Running as admin.
echo ====================================
echo 使用 『系統管理員』 權限執行
echo 重新啟動網路卡
echo ====================================
netsh interface set interface "網路" disabled
netsh interface set interface "網路" enabled
timeout /T 5
netsh interface ipv4 show interfaces

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ROBOCOPY複製.bat

@ echo off
echo =============================================================
echo 另開視窗執行cmd的script批次作業 【cmd.exe /c start PATH】
echo 使用 robocopy 指令複製檔案,請稍等......
echo 請輸入【來源路徑】跟【目的路徑】 ......
echo =============================================================
set /P Soure=請輸入 【預複製的來源 (可用滑鼠拖曳)】:
set /P Dest=請輸入 【想複製到的目的 (可用滑鼠拖曳)】:

echo %Soure%
echo %Dest%

robocopy %Soure% %Dest% /E /XO /ETA

%WINDIR%\explorer.exe %Dest%

pause
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
新增_工作排程

@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
Echo Off
echo ===========================================================================
echo Running As Administrator Shell ......
echo add Login windows start Monitor_control_JDK_ENV.jar, please wait ......
echo ===========================================================================

schtasks.exe /Create /RU "" /RP "" /tn MESS_Monitor_Control /XML "%~dp0\TaskScheduler.xml" /f
PAUSE
control schedtasks

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
新增_防火牆

@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
Echo Off
echo ===========================================
echo Running As Administrator Shell ......
echo Add Firewall PORT 7777,8888
echo ===========================================
netsh advfirewall firewall add rule name="PORT_7777,8888" dir=in action=allow protocol=TCP localport=7777,8888
netsh advfirewall firewall add rule name="PORT_7777,8888" dir=out action=allow protocol=TCP localport=7777,8888

control firewall.cpl

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
新增_信任網站(for 迴圈)
[01] Add_IE_ZoneMap_Domain(ALL_USER)

@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------

@Echo Off
echo ================================
echo 請先修改 Domain.txt 檔案內容
echo Domain 格式為 aaa.bbb.cc
echo 新增信任網站,請稍等......
echo ================================
PAUSE
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "tokens=1-20 delims=. " %%i IN (Domain.txt) DO (
set a=%%i
set b=%%j
set c=%%k
)

echo %a%
echo %b%
echo %c%

Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains" /ve /t REG_SZ /d "" /f
Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\%b%.%c%\%a%" /v "http" /t REG_DWORD /d "2" /f

control inetcpl.cpl,,1
"%ProgramFiles%\Internet Explorer\iexplore.exe" "http://%a%.%b%.%c%"
exit

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[01] Add_IE_ZoneMap_IP(ALL_USER)

@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------

@Echo Off
echo ================================
echo 請先修改ip.txt檔案內容
echo 新增信任網站,請稍等......
echo ================================
pause
set /P URL= Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges" /ve /t REG_SZ /d "" /f
Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1000" /v "http" /t REG_DWORD /d "2" /f
Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1000" /v ":Range" /t REG_SZ /d "%URL%" /f
control inetcpl.cpl,,1
"%ProgramFiles%\Internet Explorer\iexplore.exe" "http://%URL%"
exit

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
eventlog_win

REM 稽核每日歸檔

wevtutil.exe qe Security /rd:true /f:text > S:\122.1\Security\RemoteLogin_log_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.txt /q:"*[System[(EventID=4624)]] and *[EventData[Data[@Name='LogonType'] and (Data='10')]] and *[System[TimeCreated[timediff(@SystemTime) wevtutil.exe epl Security S:\122.1\Security\RemoteLogin_log_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.evtx /ow:true /q:"*[System[(EventID=4624)]] and *[EventData[Data[@Name='LogonType'] and (Data='10')]] and *[System[TimeCreated[timediff(@SystemTime) wevtutil.exe epl Application S:\122.1\Application\Application_log_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.evtx /ow:true /q:"*[System[TimeCreated[timediff(@SystemTime) wevtutil.exe epl Security S:\122.1\Security\Security_log_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.evtx /ow:true /q:"*[System[TimeCreated[timediff(@SystemTime) wevtutil.exe epl Setup S:\122.1\Setup\Setup_log_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.evtx /ow:true /q:"*[System[TimeCreated[timediff(@SystemTime) wevtutil.exe epl System S:\122.1\System\System_log_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.evtx /ow:true /q:"*[System[TimeCreated[timediff(@SystemTime)
exit

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

@ echo off ==============================================================================
@ echo off 取得前一個月份的batch腳本,前一個年月 == %LastMonthMonthP0%
@ echo off ==============================================================================
REM 取得今天的年、月、日 (自動補零)
SET TodayYear=%date:~0,4%
SET TodayMonthP0=%date:~5,2%
SET TodayDayP0=%date:~8,2%

REM 取得今天的年、月、日 (純數字)
REM 更新:以下是為了修正 Batch 遇到 08, 09 會視為八進位的問題
IF %TodayMonthP0:~0,1% == 0 (
SET /A TodayMonth=%TodayMonthP0:~1,1%+0
) ELSE (
SET /A TodayMonth=TodayMonthP0+0
)

IF %TodayMonthP0:~0,1% == 0 (
SET /A TodayDay=%TodayDayP0:~1,1%+0
) ELSE (
SET /A TodayDay=TodayDayP0+0
)

echo 日期 %TodayYear%/%TodayMonth%/%TodayDay%
echo 日期 %TodayYear%/%TodayMonthP0%/%TodayDayP0%

REM 取得上個月的年、月
SET /A LastMonthYear=%TodayYear%+0
SET /A LastMonthMonth=%TodayMonth%-1
SET /A LastMonthMonthP0=%LastMonthMonth%

REM 修正年份與月份的數值
IF %LastMonthMonth% EQU 0 (SET /A LastMonthYear=%thisYear%-1)
IF %LastMonthMonth% EQU 0 (SET LastMonthMonth=12)
IF %LastMonthMonth% LSS 10 (SET LastMonthMonthP0=0%LastMonthMonth%)
echo 年/月 %LastMonthYear%/%LastMonthMonth%
echo 年月 %LastMonthYear%%LastMonthMonthP0%
@ echo off ==============================================================================
@ echo off ==============================================================================

@ echo off ==============================================================================
@ echo off 壓縮 IP 底下上一個月的evtx檔案+搬移ZIP到『年度_all』資料夾+刪除前一個月evtx檔案
@ echo off ==============================================================================
"E:\BATCH\7za\7za.exe" a -tzip S:\122.22\Application\Application_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\Application\Application_log_%LastMonthYear%%LastMonthMonthP0%*.evtx
"E:\BATCH\7za\7za.exe" a -tzip S:\122.22\Security\Security_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\Security\Security_log_%LastMonthYear%%LastMonthMonthP0%*.evtx
"E:\BATCH\7za\7za.exe" a -tzip S:\122.22\setup\Setup_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\setup\Setup_log_%LastMonthYear%%LastMonthMonthP0%*.evtx
"E:\BATCH\7za\7za.exe" a -tzip S:\122.22\System\System_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\System\System_log_%LastMonthYear%%LastMonthMonthP0%*.evtx
move /Y S:\122.22\Application\Application_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\Application\%LastMonthYear%_ALL
move /Y S:\122.22\Security\Security_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\Security\%LastMonthYear%_ALL
move /Y S:\122.22\setup\Setup_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\setup\%LastMonthYear%_ALL
move /Y S:\122.22\System\System_log_%LastMonthYear%%LastMonthMonthP0%.zip S:\122.22\System\%LastMonthYear%_ALL
del S:\122.22\Application\Application_log_%LastMonthYear%%LastMonthMonthP0%*.evtx /F /Q
del S:\122.22\Security\Security_log_%LastMonthYear%%LastMonthMonthP0%*.evtx /F /Q
del S:\122.22\setup\Setup_log_%LastMonthYear%%LastMonthMonthP0%*.evtx /F /Q
del S:\122.22\System\System_log_%LastMonthYear%%LastMonthMonthP0%*.evtx /F /Q

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
eventlog_linux.sh

A-Command_Auditsssss

#!/bin/bash
cp /root/.bash_history /System_Backup/122.33/bash_history/root/bash_history.`date +%Y-%m-%d-%H-%M-%S`
cp /home/tarrega/.bash_history /System_Backup/122.33/bash_history/tarrega/bash_history.`date +%Y-%m-%d-%H-%M-%S`
cp /home/linus/.bash_history /System_Backup/122.33/bash_history/linus/bash_history.`date +%Y-%m-%d-%H-%M-%S`

chmod 755 -R /System_Backup/122.33/bash_history/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
B-ssssync_log

#!/bin/bash
find /var/log/* -mtime -3 -name '*' | xargs -i rsync -av {} /System_Backup/122.33/var_log
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
C-qqqzlog

#!/bin/bash
chmod 755 -R /System_Backup/122.33/var_log/*
tar -zcvf /System_Backup/122.33/var_log.`date +%Y-%m-%d`.tar.gz /System_Backup/122.33/var_log
tar -zcvf /System_Backup/122.33/bash_history.`date +%Y-%m-%d`.tar.gz /System_Backup/122.33/bash_history
find /System_Backup/122.33/*.tar* -mtime +98 | xargs rm -rf {}
rm -rf /System_Backup/122.33/bash_history/root/*
rm -rf /System_Backup/122.33/bash_history/mark/*
rm -rf /System_Backup/122.33/bash_history/linus/*
rm -rf /System_Backup/122.33/var_log/*

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sftp.sh

#!/bin/sh
PATH=$PATH:/usr/local/bin
sftp_in_log="/var/log/sftp_in_check.log"
FilePath=/FilePath/
backupIn=/FilePath/BAK

echo "================================================================" >> $sftp_in_log
echo "`date +"%Y/%m/%d %H:%M:%S"\ \ \ `Check_sftp_in_OK" >> $sftp_in_log
cd $FilePath >> $sftp_in_log 2>&1
cp * $backupIn >> $sftp_in_log 2>&1
lftp -p 4422 -u srv,1111srv sftp://11.11.11.11/in -e"
mput -E $FilePath/*
bye" >> $sftp_in_log 2>&1

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
check_SSL_expireDate.sh

#!/bin/sh
echo
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo list IS cacerts file Date
echo
echo Check_file:/opt/is/security/cacerts
cer_Date=$(ls -alh /opt/security/cacerts | awk '{print $8,$6,$7}')
echo $cer_Date
echo ==================================
echo google.tw
echo E-gov SSL expire_Date
#### curl -v -silent google.tw 2>&1 | grep expire
echo true | openssl s_client -connect google.tw:443 2>/dev/null | openssl x509 -noout -dates | grep notAfter | cut -d "=" -f2
echo
echo
echo ==================================

echo ==================================
echo google.tw
echo Taipower SSL expire_date
curl -v -silent google.tw 2>&1 | grep expire
#### echo true | openssl s_client -connect google.tw:443 2>/dev/null | openssl x509 -noout -dates | grep notAfter | cut -d "=" -f2
echo
echo
echo ==================================

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mount_nas.sh

#!/bin/bash
PATH=$PATH:/usr/local/bin

mount -t nfs 192.222.111.1:/share/System/All_data/ /Backup/

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mysqldump_BK.sh

#!/bin/bash
PATH=$PATH:/usr/local/bin

day=$(date +%Y%m%d)
# mysqldump_DB_SMEF:
cd /mysql_data/BK/DSK-MYSQLBK/
mysqldump -uroot -p123412341234 SMMM > DB_SMMM_"$day".sql
mysqldump -uroot -p123412341234 charge > DB_charge_"$day".sql

# tar DB.sql
cd /mysql_data/BK/DSK-MYSQLBK/
tar -zcvf DB_SMMM_"$day".sql.tar.gz DB_SMMM_"$day".sql
tar -zcvf DB_charge_"$day".sql.tar.gz DB_charge_"$day".sql

# del today DB.sql
cd /mysql_data/BK/DSK-MYSQLBK/
rm -rf DB_SMMM_"$day".sql
rm -rf DB_charge_"$day".sql

# del over 10 day tar.gz
day10=$(date --date='10 days ago' +%Y%m%d)

cd /mysql_data/BK/DSK-MYSQLBK/
rm -rf DB_SMMM_"$day10".sql.tar.gz
rm -rf DB_charge_"$day10".sql.tar.gz

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
win 10 command check hash.bat

@ echo off
echo ============================
echo  Use Command Check Hash!!!
echo  Command [ CertUtil ]
echo  Type [ MD5 , SHA512 , SHA256 ]
echo ============================
set /P Path=Input 【Source_Path】:
set /P Type=Input 【MD5 , SHA512 , SHA256】:

"C:\Windows\System32\certUtil" -hashfile %Path% %Type%

pause

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////