기 타 시간 얻는 배치파일 좀 봐 주세요
2020.01.14 01:31
폴더안에 있는 txt를 모두 합쳐서 '일자시간h분초.txt'라는 파일로 만드는 배치파일입니다.
오후 시간대는 잘 되는데,
오전 시간에는 합쳐진 파일이름은 일자만 표시되고 '시간h분초.txt'부분은 나타나지가 않습니다.
날짜 및 시간 설정에서 형식을 바꾸어도 마찬가지네요
===================================
set HR=%time:~0,2%
set MN=%time:~3,2%
set SC=%time:~6,2%
set day=%date:~8,2%
type *.txt > %day%%HR%h%MN%%SC%.txt
댓글 [8]
-
집앞의_큰나무 2020.01.14 06:42
-
UU自適 2020.01.14 20:18
답변 감사합니다.
폴더의 내용
---------------
1.txt
2.txt
3.txt
txt_merge.cmd
---------------
14일 오전9시41분05초에
"txt_merge.cmd"를 실행하면 모든 *.txt(1.txt, 2.txt, 3.txt)파일이 합쳐져서
"1409h410.txt" 라는 8자리의 파일이 만들어지게 하고싶은데
"14 9h410.txt" 라고 나옵니다.(시간에 0이 나타나지 않고 공백이 나옴)
어디를 수정해야 하는지 도와 주세요(10시 이후에 했을 때는 문제가 없읍니다)
txt_merge.cmd 내용
=============
@set day=%date:~8,2%
@set hr="%time:~0,2%"
@set min=%time:~3,2%
@set sec=%time:~6,1%
@set n0="%day%%hr%h%min%%sec%"
type *.txt > "%n0%"
ren "%n0%" "%n0%.txt"
------------------
@는 무슨 뜻인가요?
-
드림캐쳐 2020.01.15 10:23
set HR=%time:~0,2%
IF "%HR:~0,1%" == " " SET HR=0%HR:~1,1%
set MN=%time:~3,2%
set SC=%time:~6,2%
set day=%date:~8,2%
HR에 대해 한줄 더줘보세요.
HR값이 첫자리가 없으면 0을 주라는 그런 의미로 이해하시면 되겠네요. 오전시간은 0이 없으니,,
-
UU自適 2020.01.15 10:48
답변 감사합니다. 잘 됩니다*^^*
@echo off
set hr=%time:~0,2%
if "%time:~0,1%" == " " set hr=0%time:~1,1%
set n0=%date:~8,2%%hr%h%time:~3,2%%time:~6,1%
type *.txt > %n0%
del *.txt
ren %n0% %n0%.txt
-
드림캐쳐 2020.01.15 10:53
@echo off
pushd %~dp0
for /f "tokens=1-3 delims=:." %%a in ("%time: =0%") do (
set HR=%%a
set MN=%%b
set SC=%%c
)
set day=%date:~8,2%echo 현재시간은 %HR% %MN% %SC%
pause
type *.txt > %day%%HR%%MN%%SC%.txt좀더 고급지게는 요렇게 하면 좋네요.
제컴이 윈도우10이라 그런가.. 초에 소숫점 까지 붙어나오네요 원래 그런가요?
그래서 delims 에 : 에 . 을 더 넣어 분리하였어요.
-
UU自適 2020.01.15 11:14
멋지네요~ 감사합니다*^^*
-
집앞의_큰나무 2020.01.15 11:33
드림켑쳐님 감사 합니다.
알지도 못하는것으로 되지도 않는 머리 쥐어짜다가 드림켑쳐님 덕분에 이젠 한결 나아졌네요
UU自適 님께는 죄송 했습니다.
-
UU自適 2020.01.15 11:45
아닙니다. 큰나무님 도움 많이 받고 있습니다. 덕분에 많이 배웠습니다.
세 분께 모두 감사드립니다(따로 쪽지를 주신 분도 계셨습니다)
무엇을 하실려는지 몰라서 동문서답 형태로 올려봅니다.
날짜 시간.cmd 바탕화면에 출력(연속성)
@set h0=%time:~0,2%
@set m0=%time:~3,2%
@set s0=%time:~6,2%
@set d0=%date:~8,2%