2014-06-11 3 views
0

사용자가 종료 한 배치 파일의 모든 변경 사항을 취소 할 수 있습니까? 예를 들어, 텍스트 파일을 추가하고 텍스트를 추가 할 때 파일 이름 바꾸기, 배치 파일을 실행하여 파일 삭제 ... 사용자가 배치 파일을 종료하는 경우 배치 파일을 종료하기 전에 완료된 모든 변경 사항을 취소 할 수 있습니까? 사용자? 또는 어쨌든 사용자가 실행하는 동안 배치 파일을 종료 할 수 없습니까?배치 파일 종료시 변경 실행 취소

감사

+0

아니요 배치 파일에서 "롤백"또는 "실행 취소"할 수 없으며 배치 파일이 종료되지 않도록 할 수 없습니다. –

+0

@KenWhite : 일종의 작업장 인 샌드 박스가 있습니다. 문제는 : 배치로 제어 할 수있는 것이 있는지 모르겠습니다. 샌드 박스에서 배치를 실행하고 완료되면 변경 사항을 시스템으로 내 보냅니다. 예기치 않게 종료되면 샌드 박스 내 모든 변경 사항이 손실됩니다. – Stephan

+0

@Stephan : 배치 파일에서 실행 취소하지 않습니다. 적용하기 전에 변경 사항을 샌드 박스에서 실행하고 있는데 이는 다른 작업입니다. 배치 파일에는 "실행 취소"가 없습니다. 몇 가지 다른 해결책이있을 수 있지만 그 질문은 아닙니다. (그리고 그 질문은 일반적인 "도구 추천"질문 일 것이고, 주제에 대한 도움말/지침에 따라 여기에있는 주제와 가장 유사 할 것입니다.) –

답변

0
당신은 정상 사용자가 Ctrl-C를 배치 파일이 방법으로 취소 것을 방지 할 수 있습니다

:

물론
@echo off 
setlocal 

if "%~1" equ "NonCancelable" goto NonCancelable 
echo Original! 
start "" /B "%~F0" NonCancelable 
echo Terminating original... 
exit 

:NonCancelable 
echo I am non cancelable! 
echo/ 
set "var=" 
set /P "var=Try to cancel me! (enter Exit to end): " 
if /I "%var%" neq "exit" goto :NonCancelable 
echo Terminating non cancelable... 

, 사용자가 에 창 적십자 클릭 수를 창을 닫으십시오 ...

+0

답장을 보내 주셔서 감사합니다 모두 – WinSupp

0

사용자가 얼마나 정교하고 액세스 할 수있는 시설에 따라 크게 달라집니다.

예를 들어 사용자 배치를 실행하는 보이지 않는 배치를 만들 수 있습니다. 이렇게하는 방법에 대한 많은 예제가 있습니다.

또는 일괄 처리의 마지막 작업으로 배치 내에 새 파일을 만든 다음 기존 파일을 새 파일로 바꾸거나 완전히 새로운 파일 세트로 대체 디렉토리를 만들 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 사용자들이 세련되고 훌륭한 기술 지식을 보유하고 있다고 생각하지만 그냥 바보 같은 증거를 만들고 싶었습니다 .. 다시 한 번 감사드립니다. – WinSupp