2011-12-01 1 views
0

나는이 스크립트를 작성했으며 삭제를 위해 Y를, 파일을 삭제하지 않기 위해 N을 할 수 있다면 창안되었다. 그러나 나는 갈 방법이 확실하지 않다. 그것을 추가합니다.배치 스크립트의 삭제 옵션에 예 또는 아니오 추가하기

@ECHO OFF 
SETLOCAL EnableDelayedExpansion 

REM Set variables 
SET SOURCE=C:\My Recordings 
SET DEST=\\XXXXXXXX\c$\VideoArchive 
SET 7ZIP=C:\Program Files\7-Zip\7z.exe 

REM Compress local files with 7zip 
ECHO --------------------------------------------------------- 
ECHO BEGINNING VIDEO COMPRESSION OPERATIONS 
ECHO --------------------------------------------------------- 
CD /D "%SOURCE%" 
FOR %%f in ("*.wrf") DO (
    SET FILENAME=%%~nf 
    ECHO Compressing !FILENAME! 
    "!7ZIP!" a -t7z -aoa "!FILENAME!.7z" "%%f" 
) 

REM Copy compressed files 
ECHO --------------------------------------------------------- 
ECHO COMPRESSION COMPLETE - BEGINNING COPY OPERATIONS 
ECHO --------------------------------------------------------- 
for /F "usebackq delims=" %%a in (`dir /b "%SOURCE%\*.7z"`) do (
    SET CURRENT_FILE=%%a 
    SET CURRENT_FILE_NO_EXTENSION=%%~na 

    REM Extract the month. 
    for /F "usebackq tokens=3 delims=-" %%i in ('!CURRENT_FILE!') do (
     SET CURRENT_FILE_DATE=%%i 
     SET FILE_MONTH=!CURRENT_FILE_DATE:~5,2! 
     SET MONTH_DEST=!DEST!\!FILE_MONTH! 
    ) 

    XCOPY "%SOURCE%\!CURRENT_FILE!" "!MONTH_DEST!\" /Y /V /I /R 

    REM Confirm successful copy, then delete original 
    IF !ERRORLEVEL! EQU 0 (
     ECHO Copy Operation Successful. Removing Original... 
     DEL /Q "%SOURCE%\!CURRENT_FILE_NO_EXTENSION!.wrf" 
     DEL /Q "%SOURCE%\!CURRENT_FILE!" 
    )ELSE (
     ECHO Error while copying "%SOURCE%\!CURRENT_FILE!. 
    ) 
) 

누군가 내게 도움이된다면 그건 도움이 될 것입니다.

답변

0
set /p DELETE=Delete [y/n]? 
if !DELETE! == y (
    ... 
) 
+0

난 그냥 아래쪽에 추가할까요? – Alex

+0

@Alex : 원하는 곳이면 어디든지. –

4

choice을 사용하고 응답에 따라 행동하십시오.

이 옵션을 사용자에게 제공하기 위해 "파일을 삭제하세요? 아니오",

choice /c yn /n /m "Delete files?" 

ERRORLEVEL가 선택한 값의 인덱스를 포함합니다 사용 (예를 들어, 위의 예에서, 1 경우 Y2 누르기 및 N'). Your batch file can then check ERRORLEVEL` 위해 그에 따라 반응한다.

다른 답변이 del/y 매개 변수를 언급하면서, choice 제네릭이며 어떤 이유로 든 배치 파일을 사용할 수 있습니다.

관련 문제