질문과 답변
기 타 배치 파일고수님 좀 가르쳐주시기 바랍니다
2021.08.11 20:54
윈도우 무인설치 용 SDI 드라이버 런쳐을 만들고 있읍니다 어제 알려주신대로 하여
pushd %~dp0
for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do if exist %%a:\SDIO %%a:\SDIO\SDIO_auto.bat -autoinstall -autoclose -showconsole
exit
.bat 용으로 만들어 윈도우을 재설치 하니 짬간드고 검은화면에서 그냥재부팅됩니다
아래 명령어 다음 SDIO_auto.bat -autoinstall -autoclose -showconsole 파일 실행시키수 명령어을 가르쳐주시면 감사합니다
sdi배치파일 너무 어렵네요
for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
for /F "tokens=*" %%b in ('"dir /a:d /b "%%a:\K-Driver*""') do (set usb=%%a&set folder=%%b& goto :Bitcheck2)
)
이다음 에 SDIO_auto.bat -autoinstall -autoclose -showconsole 파일 실행시키수 명령어을 가르쳐주시면감사합니다
1. 예제)
@echo off
for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
for /F "tokens=*" %%b in ('"dir /a:d /b "%%a:\SDIO*""') do (set usb=%%a&set folder=%%b& goto :USB))
:USB
%usb%:\%folder%\SDIO_auto.bat
토큰값으로 폴더명이 길어도 sdio*로 (sdio_auto) 라는 폴더에서 sdio_auto.bat 실행
2. 예제)
@echo off
for %%a in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do (
if exist %%a\utils\ set usb=%%a
)
%usb%\sdio_auto\sdio_auto.bat
(sdio_auto)폴더명 다 적어 줘야함
if exist %%a\utils 라는 폴더나 파일이 있을때 실행 \sdio_auto\adio_auto.bat 실행
이상하게 if exist 가 작동이 안되는거 같습니다. utils 라는 폴더가 있을때 set usb=%%a 값을 출력하라고 하는거 같은데
이부분은 잘하시는 다른분들이 하였으면 좋을거 같습니다.
아무 드라이브에서나 폴더명 sdio_auto 안에 adio_auto.bat 라는 파일이 있을때
저도 초심자라서 이외에는 응용이라는가 다른건 잘 모르겠습니다.
이부분에 관심이들어 다른 사이트에서 참고하여 보았습니다.
참고해볼만한 곳은 이곳입니다. 잘 정리가 되어있습니다.
이곳을 참고하여 보았습ㄴ다.
https://www.snoopybox.co.kr/1366
이곳에도 내용이 잘나와 있습니다. suk 님 글중에서
https://windowsforum.kr/qna/12411938#comment_12412260
@echo off
for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do if exist %%a:\Wandrv7\ (set drv1=%%a& goto :next)
@echo.
@echo.
@echo.==================================================================================
@echo. 모든 드라이브에서 Wandrv7 폴더를 찾지 못 했습니다
@echo.==================================================================================
@echo.
@pause
@exit
:next
for %%a in (C D E F G H I J K L M N O P Q R S T U V W Y Z) do if exist %%a:\Windows\ (set drv2=%%a& goto :next)
@echo.
@echo.
@echo.==================================================================================
@echo. 모든 드라이브에서 Windows 폴더를 찾지 못 했습니다
@echo.==================================================================================
@echo.
@pause
@exit
:next
robocopy %drv1%:\Wandrv7\EasyDrv7_Win7.x86 %drv2%:\Wandrv7\EasyDrv7_Win7.x86 /mir /zb /nfl /r:0
pause
조건을 만족하면 :next 다음 메뉴로 이동
Wandrv7 와 Windows 라는 폴더가 존재하면 robocopy 명령이 실행됩니다.
robocopy 가 실행이 되네요 이곳을 실행할 파일 및 배치파일로 대체하면 되겠지요.