'DOS'에 해당되는 글 2건

  1. 2008.07.03 MS-DOS xcopy 명령어
  2. 2008.07.03 도스 배치파일에서 현재시간 포맷

전에는 어떤 반복적인 작업을 무조건 Ant 빌드파일로 정의해서 처리하곤 했는데,

최근엔 생각이 좀 바뀌었다.

어차피 로컬에서만 일어나는 작업이라면 굳이 Ant를 고집할 필요는 없다고 본다.

로컬에서 개발하다가 수시로 많은 양의 파일을 다른 디렉토리로 복사할 일이 있었는데,

이걸 Ant로 처리하면 일단 Ant 시작 시간이 걸리는지라 하루에도 몇십번씩 반복하는 경우에

짜증이 날 수 있다.

그래서 도스로 처리하기로 맘먹고 또 검색돌입. ㅎㅎ

오홋 xcopy 발견!!!

아래처럼 배치 파일 작성 후 실행. 우왕 빠르닷~

----------------------------------------------------------------------
SET SOURCE=원본파일이들어있는 디렉토리
SET DESTINATION=복사할 목적지 디렉토리

xcopy.exe %SOURCE% %DESTINATION% /S /E /Y /D
----------------------------------------------------------------------

xcopy 접수완료. 끝.

---------------------------------------------------
xcopy /?

파일과 디렉터리 트리를 복사합니다.

XCOPY 원본 [대상] [/A | /M] [/D[:데이터]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
                           [/EXCLUDE:파일1[+파일2][+파일3]...]

  원본         복사할 파일을 지정합니다.
  대상         새 파일의 디렉터리와 또는 파일 이름을 지정합니다.
  /A           보관 특성을 가진 파일을 복사하며, 보관 특성을 수정하지
               않습니다.
  /M           보관 특성을 가진 원본 파일을 복사하며, 보관 특성을
               지웁니다.
  /D:m-d-y     지정된 날짜 이후에 바뀐 파일만 복사합니다.
               날짜가 지정되지 않으면, 대상 파일보다 새로운 원본 파일만
               복사합니다.
  /EXCLUDE:파일1[+파일2][+파일3]...
               문자열을 포함하는 파일 목록을 지정합니다.
               각 문자열은 파일의 다른 행에 있어야 합니다.
               일부 문자열이 복사할 파일의 절대 경로의 일부분과
               일치하면 복사할 파일에서 제외됩니다.
               예를 들면, \obj\ 또는 .obj에서는 obj 디렉터리 내의
               모든 파일을 제외하거나 .obj 확장자를 갖는 모든 파일을
               제외합니다.
  /P           각 대상 파일을 만들기 전에 물어봅니다.
  /S           비어 있지 않은 디렉터리와 하위 디렉터리를 복사합니다.
  /E           디렉터리와 하위 디렉터리를 (비어 있어도) 복사합니다.
               /S /E 스위치와 같으며, /T를 수정하는 데 사용될 수 있습니다.
  /V           각각의 새 파일을 확인합니다.
  /W           복사하기 전에, 아무 키나 누르라고 프롬프트합니다.
  /C           오류가 생겨도 복사를 계속합니다.
  /I           대상을 찾을 수 없고 두 파일 이상을 복사하면, 대상을 디렉터리로
               지정합니다.
  /Q           복사하는 동안 파일 이름을 표시하지 않습니다.
  /F           복사하는 동안 원본과 대상 파일의 전체 경로 를 표시합니다.
  /L           복사는 하지 않고, 복사할 파일을 표시만 합니다.
  /G           암호화 기능을 지원하지 않은 대상에 암호화된 파일을
               복사하도록 허용합니다.
  /H           숨겨진 파일과 시스템 파일도 복사합니다.
  /R           읽기 전용 파일을 겹쳐 씁니다.
  /T           파일은 복사하지 않고 디렉터리 구조만 복사합니다. 빈 디렉터리와
               하위 디렉터리는 포함되지 않습니다. /T /E 스위치를 함께 사용하면
               빈 디렉터리와 하위 디렉터리를 포함합니다.
  /U           대상에 이미 있는 파일을 업데이트합니다.
  /K           특성을 복사합니다. 일반적으로 Xcopy는 읽기 전용 특성을 지웁니다.
  /N           만들어진 짧은 파일 이름을 사용하여 복사합니다.
  /O           파일 소유권과 ACL 정보를 복사합니다.
  /X           파일 감사 설정을 복사합니다(/O 의미).
  /Y           이미 있는 대상 파일을 덮어쓸지를 확인하기 위해
               묻는 것을 금합니다.
  /-Y          이미 있는 대상 파일을 덮어쓸지를 확인하기 위해
               묻습니다.
  /Z           다시 시작할 수 있는 모드에서 네트워크 파일을 복사합니다.

/Y 스위치가 COPYCMD 환경 변수에 나타날 수 있습니다.
명령줄에 있는 /-Y와 함께 무시될 수 있습니다.


신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 에코지오
TAG DOS, xcopy

댓글을 달아 주세요

특정 디렉토리를 파일로 압축하는 일이 몇번 반복되다 보니 자동화해야겠다 싶어

일단 도스 배치 스크립트를 만들기로 함.

우선 알집을 이용해서 이렇게 작성.

"C:\Program Files\ESTsoft\ALZip\alzip.exe" -a  C:\AAA  C:\BBB.zip

음.. 뭔가 쬠 아쉬운거 같아 압축파일명을 BBB_yyyymmdd.zip 형식으로 하기로 맘먹음.

구글 검색 돌입.

일단 도스배치에서 현재시간은 %date%로 구할 수 있음.

YYYYMMDD 형식으로 포맷하고 싶으면?

%date:~0,4%%date:~5,2%%date:~8,2%

이렇게 하면 됨. 오호 도스 배치도 이거저거 나름 다 되는군.

그래서 위의 C:\BBB.zip을  C:\BBB_%date:~0,4%%date:~5,2%%date:~8,2%.zip 으로 바꿔줌.

나잇스~

그럼 Ant에서는 어떻게하더라?

<tstamp/> 타스크 적어준뒤  ${DSTAMP} 속성으로 구할 수 있음

그럼 유닉스에서는?

`date +%Y/%m/%d` 

이런식으루 하면 됨.

끝.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 에코지오
TAG date, DOS, 시간

댓글을 달아 주세요



티스토리 툴바