배치파일

CASZONE X-TOOLS v4.8.2

by 관리자 posted Sep 01, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

x-tools.PNG

 

IP 대역 98.18 부분을 사용 할 사내망 IP 대역으로 변경하세요.

 

RAM---Computer IP Setting 안에

SUBNETMASK, DNS1, DNS2 사내망 네트워크 정보로 수정하여 사용하세요.

 



 

@echo off

title CASZONE X-TOOLS v4.8 (개발자:김인철)

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if '%errorlevel%' NEQ '0' (

    echo Run as Administrator...

    goto UACPrompt

) else ( goto gotAdmin )

:UACPrompt

    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"

    set params = %*:"=""

    echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"

    rem del "%temp%\getadmin.vbs"

    exit /B

:gotAdmin

 

 

:MENU

 

c:

cd\

cls

echo.

echo ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

echo.

echo          CASZONE X-TOOLS v4.8 (개발자:김인철)

echo.

echo ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

echo.

echo.

echo [1] 교체 전 - 기존 PC 에서 (백업)

echo.

echo.

echo [2] 교체 후 - 새 PC 에서 (복원)

echo.

echo.

echo [3] 컴퓨터 이름 및 네트워크 ip 변경

echo.

echo [4] 프로그램 닫기

echo.

echo.

set /p choice= "진행 할 작업 번호를 입력하세요 : "

echo. 

if "%choice%" == "1" goto :BEFORE

if "%choice%" == "2" goto :AFTER

if "%choice%" == "3" goto :NETWORKYESPLUS

if "%choice%" == "4" goto :END

goto MENU

echo.

 

 

:BEFORE

 

cls

 

:DRVCHECK

echo.

md "D:\###CASZONE###"

echo.

if %errorlevel% equ 0 (

    echo.

    echo D 드라이브에 폴더를 생성 하였습니다.

    goto DRVCHECK-D

) else (

    echo.

    echo D 드라이브로 설정 할 수 없습니다.

    goto DRVCHECK-E

exit /b

 

 

:DRVCHECK-D

set DISK=D

goto BEFORE-SET

 

:DRVCHECK-E

echo.

echo.

echo 네트워크 정보 및 인증서를 백업 할 위치 선택하세요.

echo.

echo C 파티션을 제외한 드라이브를 지정하세요. 없으면 관리자에게 문의.

echo.

set /p DISK="알파벳 d 또는 e 식으로 입력하세요. : "  

echo.

echo.

echo 위에 선택한 경로를 재확인합니다. 맞은면 엔터! 

echo ──────────────────────── 

goto BEFORE-SET

 

 

:BEFORE-SET

 

set folder="%DISK%:\###CASZONE###"

 

set file="%folder%\_PRINTER_INFO.txt"

 

echo.

echo %folder%

echo.

echo ──────────────────────── 

echo.

 

pause

 

md "%folder%"

 

echo ───────────────────────── 

echo 1 PC 교체 전 - 기존 PC 설정 값 확인

echo ───────────────────────── 

echo. 

echo 1-1 컴퓨터 이름, 윈도우 계정명 확인 

echo. 

 

wmic computersystem get "Name", "UserName"

wmic computersystem get "Name", "UserName" > %file%

 

echo. 

echo 1-2 기존 PC본체 시리얼넘버 확인

echo. 

 

wmic computersystem get "Model","Manufacturer"

wmic bios get serialnumber

wmic computersystem get "Model","Manufacturer" >> %file%

wmic bios get serialnumber >> %file%

 

echo. 

echo ───────────────────────── 

echo 2 프린터 IP 및 포트 정보, 공유 설정 확인 

echo ───────────────────────── 

 

wmic printer get "Name", "PortName", "ShareName"

wmic printer get "Name", "PortName", "ShareName" >> %file%

 

echo.

echo.

echo ─────────────────────────

echo 3 네트워크 IP (이더넷) 정보 확인

echo ─────────────────────────

echo.

for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ip=%%b

set ip=%ip:~1%

echo IP address : %ip%

ipconfig /all > "%folder%\%ip%.txt"

 

echo.

echo.

echo.

echo ─────────────────────────

echo 4 기존 사용자 공인인증서 백업 작업

echo ─────────────────────────

echo.

echo.

echo.

 

echo 공인인증서 백업 대상 폴더 생성

md "%folder%\GPKI"

md "%folder%\NPKI_program\NPKI"

md "%folder%\NPKI_appdata\NPKI"

md "%folder%\Profiles\Favorites"

 

md "%folder%\Profiles\Sticky Notes"

md "%folder%\Profiles\SMYSoft"

md "%folder%\Profiles\Memoit"

md "%folder%\Profiles\DesktopCal"

 

xcopy "%systemdrive%\GPKI" "%folder%\GPKI" /e /h /k /y

xcopy "%programfiles%\NPKI" "%folder%\NPKI_program\NPKI" /e /h /k /y

xcopy "%userprofile%\AppData\LocalLow\NPKI" "%folder%\NPKI_appdata\NPKI" /e /h /k /y

xcopy "%userprofile%\Favorites" "%folder%\Profiles\Favorites" /e /h /k /y

 

xcopy "%userprofile%\AppData\Roaming\Microsoft\Sticky Notes" "%folder%\Profiles\Sticky Notes" /e /h /k /y

xcopy "C:\SMYSoft" "%folder%\Profiles\SMYSoft" /e /h /k /y

xcopy "%userprofile%\AppData\Local\Memoit" "%folder%\Profiles\Memoit" /e /h /k /y

xcopy "%userprofile%\AppData\Roaming\DesktopCal" "%folder%\Profiles\DesktopCal" /e /h /k /y

 

:: E 비어 있는 경우를 포함하여 디렉터리와 하위 디렉터리를 복사합니다.

:: H 숨겨진 파일과 시스템 파일도 복사합니다.

:: K 특성을 복사합니다. 일반적인 Xcopy는 읽기 전용 특성을 다시 설정합니다.

:: Y 기존 대상 파일을 덮어쓸지 여부를 묻지 않습니다.

 

md "%folder%\%DATE%\GPKI"

md "%folder%\%DATE%\NPKI_program\NPKI"

md "%folder%\%DATE%\NPKI_appdata\NPKI"

 

robocopy /MIR /ZB /XO /XA:H /R:1 /W:1 /V /NJH /NJS /TEE "%systemdrive%\GPKI" "%folder%\%DATE%\GPKI"

robocopy /MIR /ZB /XO /XA:H /R:1 /W:1 /V /NJH /NJS /TEE "%programfiles%\NPKI" "%folder%\%DATE%\NPKI_program\NPKI"

robocopy /MIR /ZB /XO /XA:H /R:1 /W:1 /V /NJH /NJS /TEE "%userprofile%\AppData\LocalLow\NPKI" "%folder%\%DATE%\NPKI_appdata\NPKI"

 

echo.

echo.

 

copy /y "%~dp0\*CASZONE*.cmd" "%folder%"

 

pause

 

%SystemRoot%\explorer.exe /n, /e, "%folder%"

 

goto END

 

 

echo ========================================================================

 

 

:AFTER

 

c:

cd\

cls

 

echo.

echo.

echo ─────────────────────────

echo 1 사용자 인증서 복원

echo ─────────────────────────

echo.

cd\

cd %~dp0

 

if exist "%~dp0\GPKI" (

echo.

echo 인증서를 복원합니다.

echo.

echo ──────────────────────── 

echo.

echo %~dp0

echo.

echo %~dp0\GPKI

echo.

echo %~dp0\NPKI_program\NPKI

echo.

echo %~dp0\NPKI_appdata\NPKI

echo.

echo ──────────────────────── 

echo.

pause

echo.

  goto AFTERYES

  ) else (

echo.

echo 인증서 GPKI 와 NPKI_appdata 폴더가 없습니다.

echo.

pause

echo.

  goto AFTERQA

  )

if end

 

 

 

:AFTERQA

cls

echo.

echo.

echo.

SET /p qa="백업 된 인증서가 %~dp0 폴더에 있나요? (Y/N) : "

if /i %qa%==y goto AFTERYES

if /i %qa%==n goto AFTER

goto AFTER

echo.

 

 

 

:AFTERYES

 

cls

 

md "%systemdrive%\GPKI"

md "%programfiles%\NPKI"

md "%userprofile%\AppData\LocalLow\NPKI"

 

xcopy "%~dp0\GPKI" "%systemdrive%\GPKI" /e /h /k /y

xcopy "%~dp0\NPKI_program\NPKI" "%programfiles%\NPKI" /e /h /k /y

xcopy "%~dp0\NPKI_appdata\NPKI" "%userprofile%\AppData\LocalLow\NPKI" /e /h /k /y

xcopy "%~dp0\Profiles\Favorites" "%userprofile%\Favorites" /e /h /k /y

 

echo.

echo 인증서 복사가 완료 되었습니다.

echo.

pause

echo.

goto NETWORK

 

 

:NETWORK

 

cls

 

echo.

echo.

echo ─────────────────────────

echo 2 새로운 PC 컴퓨터 정보 및 네트워크 IP 변경

echo ─────────────────────────

echo.

echo.

if exist "%~dp0\98.18.*.txt" (

echo.

echo 네트워크 IP 텍스트 정보가 확인 되었습니다.

echo.

pause

echo.

  goto NETWORKYES

  ) else (

echo.

echo 네트워크 IP 텍스트 파일이 없습니다.

echo.

pause

echo.

  goto NETWORKQA

  )

if end

 

 

 

:NETWORKQA

 

SET /p netqa="네트워크 IP 텍스트 파일이 %~dp0 폴더에 있나요? (Y/N) : "

if /i %netqa%==y goto NETWORKYES

if /i %netqa%==n goto AFTER

goto AFTER

echo.

 

 

 

:NETWORKYES

cls

 

FOR /F "delims=" %%i IN ("%~dp0\98.18.*.txt") DO (SET filename=%%~ni)

ECHO %filename%

ECHO %filename:~0,5%

 

for /F "tokens=3,4 delims=. " %%a in ("%filename%") do (

   set ipC=%%a

   set ipD=%%b

)

echo %filename:~0,5%.%ipC%.%ipD%

echo.

goto StartConfig

 

 

 

:NETWORKYESPLUS

 

del /f /q "%TEMP%\98*.txt"

cls

echo.

echo.

set ipAB=98.18.

set /p ipCD="나머지 아이피를 입력하세요 : 98.18."

echo "%ipAB%%ipCD%" >> "%TEMP%\%ipAB%%ipCD%.txt"

 

FOR /F "delims=" %%i IN ("%TEMP%\98*.txt") DO (SET filename=%%~ni)

ECHO %filename%

ECHO %filename:~0,5%

 

for /F "tokens=3,4 delims=. " %%a in ("%filename%") do (

   set ipC=%%a

   set ipD=%%b

)

echo %filename:~0,5%.%ipC%.%ipD%

echo.

goto StartConfig

 

 

:StartConfig

cls

 

REM ------------------------------------- Computer IP Setting -----------------------------------------------

 

SET IPx4=%filename%

 

SET SUBNETMASK=255.255.255.128

SET GATEWAY=%filename:~0,5%.%ipC%.1

SET DNS1=10.1.1.5

SET DNS2=168.126.63.1

 

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

 

:NICNameSetting

 

echo.

ECHO 등록 할 네트워크 IP : %IPx4%

ECHO 등록 할 네트워크 GATEWAY : %GATEWAY%

echo.

echo 어댑터 리스트입니다. 연결 된 어댑터를 확인하세요.  

echo ───────────────────────────────────

wmic nic where PhysicalAdapter=TRUE get NetConnectionID,ProductName

echo ───────────────────────────────────

echo.

echo 1 : 이더넷  (윈도우10 네트워트 어댑터)

echo.

echo 2 : 로컬 영역 연결  (윈도우7 네트워트 어댑터)

echo.

echo 3 : 수동으로 입력하기

echo.

echo.

SET /p NICchoice="네트워크 어댑터 선택하세요. (숫자 입력)  : "

echo.

if /i %NICchoice%==1 goto Ethernet

if /i %NICchoice%==2 goto LocalNetwork

if /i %NICchoice%==3 goto NetworkNameChange

goto NICNameSetting

echo.

echo.

 

:Ethernet

SET NICName=이더넷

goto COMNameSetting

 

:LocalNetwork

SET NICName=로컬 영역 연결

goto COMNameSetting

 

 

:NetworkNameChange

cls

echo.

FOR /F "delims=" %%i IN ('wmic nic where "PhysicalAdapter=TRUE" get NetConnectionID') DO echo [네트워크 어댑터] %%i

echo.

SET /p NICName="네트워크 어댑터 확인 후 텍스트를 그대로 입력하세요. : "

echo.

goto COMNameSetting

 

 

:COMNameSetting

echo.

echo.

SET /p COMName="사용자 이름을 입력하세요 (컴퓨터 이름) : "

echo.

echo.

SET /p WorkGroup="부서(과)명을 입력하세요 (작업 그룹) : "

echo.

echo.

cls

 

echo.

echo.

ECHO 전체 컴퓨터 이름  : %COMName%

echo.

ECHO 작업 그룹  : %WorkGroup%

echo.

ECHO 네트워크   : %NICName%

echo.

ECHO IP    : %IPx4%

echo.

ECHO SUBNETMASTK   : %SUBNETMASK%

echo.

ECHO GATEWAY   : %GATEWAY%

echo.

ECHO DNS1    : %DNS1%

echo.

ECHO DNS2    : %DNS2%

echo.

echo.

goto QA

echo.

 

:QA

echo.

echo.

SET /p qa="설정 할 네트워크 값이 정확합니까? (1.예 / 2.아니요) 숫자 입력 : "

if /i %qa%==1 goto Exec

if /i %qa%==2 goto NETWORK

goto QA

echo.

echo.

 

 

:Exec

echo.

ECHO Starting Config....

echo.

ECHO y|REG add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v Hostname /t REG_SZ /d %COMName% > nul

ECHO y|REG add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %COMName% > nul

ECHO y|REG add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v ComputerName /t REG_SZ /d %COMName% > nul

echo.

echo.

echo.

ECHO 네트워크 IP 값 설정합니다.

echo.

netsh interface ip set address "%NICName%" static %IPx4% %SUBNETMASK% %GATEWAY% 1

echo.

ECHO 네트워크 DNS1 값 설정합니다.

echo.

netsh interface ip set dns name="%NICName%" source=static addr=%DNS1% register=PRIMARY

echo.

ECHO 네트워크 DNS2 값 설정합니다.

echo.

netsh interface ip add dns name="%NICName%" addr=%DNS2% index=2

echo.

echo.

wmic computersystem where name="%computername%" call joindomainorworkgroup name="%WorkGroup%"

echo.

echo 컴퓨터 이름이 %COMName% 으로 변경되었습니다.

echo.

echo 작업 그룹명을 %WorkGroup% 으로 변경되었습니다. 

echo.

sysdm.cpl

echo.

echo.

echo 네트워크 정보를 확인하세요.

echo.

ncpa.cpl

echo.

pause

 

goto END

echo.

 

:END

exit

 

 

 

<코드 수정 시, 참고 동영상>


 

영상보기 : https://youtu.be/napQNu5vSBg

 

 

#금천블루베리 #소프트엑스