내가 원하는 것은 한 폴더에서 다른 폴더로 모든 파일을 이동하는 배치 파일입니다. 이 파일은 하루에 두 번 실행되는 작업으로 예약됩니다.
전체 이동 명령 등을 알고 있지만 한 번에 하나의 파일이거나 자체 폴더인 것 같습니다.
폴더는 그대로 있어야 하는데 안에 있는 파일은 옮겨야 해요
건배 카일
답변1
다음 스크립트가 도움이 될 수 있습니다.
@ECHO OFF >NUL
SETLOCAL enableextensions
set "folderIn=D:\test\Files In"
set "folderOu=D:\test\Files Out"
set "logFile=%folderOu%\movelog.txt"
set "logToDo=>> "%logFile%" 2>&1"
rem above line causes that moved file names will be logged to file %logFile%
rem unrem next line if you need no log
rem set "logToDo="
set /A "filesInNo=0"
for /f "tokens=*" %%# in ('dir /B "%folderIn%\*.*" 2^>NUL') do set /A "filesInNo+=1"
(
echo === %date% %time% === %filesInNo%
if %filesInNo% GTR 0 (
move /Y "%folderIn%\*.*" "%folderOu%\"
) else (
rem Nothing to copy
)
)%logToDo%
rem next line for debugging purposes only
if not "%*"=="" type "%logFile%"
ENDLOCAL
goto :eof
설명은 rem
댓글과자원(필수 읽기):
- (명령 참조)Windows CMD 명령줄의 AZ 인덱스
- (추가 특징)Windows CMD 셸 명령줄 구문
- (
%~#
등 특별 페이지)명령줄 인수(Parameters) - (
>>
,2>&1
등 특별 페이지)리디렉션