기 타 cmd 복사 게이지 바 _ 질문 입니다.
2023.11.04 12:58
네이버 답변에서 다음과 같이 cmd 복사 게이지 배치 파일을 보았습니다.
작성자 말로도 64비트용 이어서 그런지 32비트에서 작동이 안되더군요.
고수님들 32비트 작동하게 부탁 드립니다.
그리고 다음 부분 set z_target=d:\ 로 하니 d드라이브 루트에 복사 되던데 맞는 문법인가요?
초보가 매번 도움만 받아가니 죄송합니다.
모든분들의 행복과 건강을 기원합니다.
배치 파일 내용
@echo off
setlocal
cd /d "%~dp0"
set z_source=.\aaaa
set z_target=.\bbbb
set z_var=_.,~∴'`'+*†+*'`'∴~,.
set z_var2=■■■■■■■■■■■■■■■■■■
pushd.
cd /d "%z_source%"
set "z_source=%cd%\"
popd
if not exist %z_target% md "%z_target%"
cd /d "%z_target%"
set "z_target=%cd%\"
rem directory copy
for /f "usebackq delims=" %%f in (`dir /b /s /ad "%z_source%"^|sort /r`) do (
call set "z_cd=%%f"
call set "z_cd=%%z_cd:%z_source%=%%\"
call %comspec% /c if not exist "%z_target%%%z_cd%%" md "%z_target%%%z_cd%%"
)
rem z_total
set z_total=0
set z_filesum=0
for /f "usebackq delims=" %%f in (`dir /b /s /a-d "%z_source%"`) do (
call set /a z_total+=1
call set "z_filelist.%%z_total%%=%%f"
)
set /a "z_bosu1=%z_total%*100"
for /f "usebackq tokens=2 delims==" %%f in (`set z_filelist.`) do (
cls
call set /a z_filesum+=1
call set /a z_bosu2=%%z_filesum%%*100
call set /a z_bosu3=%z_bosu1% - %%z_bosu2%%
call set /a z_bosu4=%%z_bosu3%% / %z_total%
call set /a z_bosu5=100-%%z_bosu4%%
call set z_bosu6=00%%z_bosu5%%
call set z_text6=%%z_bosu6:~-3%%
call set /a z_bosu7=%%z_bosu5%% /10
call echo ::--copy--::
call :z_title "%%z_text6%%" "%%z_bosu7%%"
rem echo source="%%~nxf"
rem call echo taregt="%z_target%%%z_cd%%"
cd /d "%%~dpf"
call set "z_cd=%%~dpf"
call set "z_cd=%%z_cd:%z_source%=%%"
call copy "%%f" "%z_target%%%z_cd%%" 2>nul>nul
)
goto :end
:z_title
call title pro %~1 per %%z_var:~0,%~2%%
rem call echo ■■■■■■%~1
rem call echo job process=%~1 per %%z_var:~0,%~2%%
rem call echo ------------
call echo --------------------%~1
call echo job process=%~1 per %%z_var2:~1,%~2%%▶☞
call echo --------------------
goto :eof
:end
endlocal
pause
[출처] cmd copy 복사 게이지바 표현.. gauge Progress Bar|작성자 모꼬모지