1

哦,所以我创建了一个批处理文件。它在 Windows 7 中运行良好,但是当我在 vista 中测试时它仍然可以运行,但它会跳过 :DELETE 标签,它会直接转到 :BEGIN 标签帮助吗?, 谢谢你的时间。

:: Batch file Created By Ookami
::
:: Copyright (c) 2011 NearFang™
::
:: Facebook: http://www.facebook.com/00k4MI
::
:MAIN
@ECHO OFF
mode con:cols=43 lines=10
color 5B
title MCTool

echo %~n0%~x0 started from Directory: %~d0%~p0 > nul
%~d0
cd %~d0%~p0

:Menu
echo MC Batch Tool Copyright (c) 2011 Ookami.
echo -----------------------------------------
echo [OPTIONS]:
echo =========================================
echo [1]Run minecraft installer
echo [2]Restore .minecraft
echo =========================================
set /p choice=Enter Option:
if %choice% == 1 goto 1
if %choice% == 2 goto 2
GOTO Menu

:1
IF NOT EXIST .minecraft GOTO ERROR2
IF NOT EXIST %APPDATA%\.minecraft GOTO BEGIN
IF EXIST %APPDATA%\.minecraft GOTO DELETE
IF EXIST .minecraft GOTO BEGIN

:BEGIN
XCopy ".minecraft" "%appdata%\.minecraft" /S /E /I /Y
cls
echo Pre-Modded minecraft installed...
echo.
pause
EXIT

:DELETE
cls
echo An existing .minecraft folder was found!
echo.
echo Create backup, before deletion?
SET /P input=Yes or No (Y/N):
IF '%input%' == 'Y' (
GOTO BACKUP
)
IF '%input%' == 'y' ( 
GOTO BACKUP
)
IF '%input%' == 'N' ( 
GOTO DELNOW
)
IF '%input%' == 'n' ( 
GOTO DELNOW
) ELSE (
GOTO ERROR
)

:BACKUP
IF EXIST mcbak\.minecraft RD mcbak\.minecraft /S /Q
XCopy "%appdata%\.minecraft" "mcbak\.minecraft" /S /E /I /Y /Q
cls
echo Copied Folder To: 
echo.
echo %~d0%~p0
echo.
echo successfully completed!
echo.
pause
cls
echo starting deletion process...
RD /S /Q "%APPDATA%\.minecraft"
echo.
echo .minecraft folder has been Deleted
echo.
pause 
cls
echo Now installing Pre-Modded minecraft folder
XCopy ".minecraft" "%appdata%\.minecraft" /S /E /I /Y /Q
echo.
echo successfully completed...
echo.
pause
EXIT

:DELNOW
cls
echo Starting Deletion Process...
RD /S /Q "%APPDATA%\.minecraft"
echo.
echo .minecraft folder has been Deleted
echo.
pause 
cls
echo Now installing Pre-Modded minecraft folder
XCopy ".minecraft" "%appdata%\.minecraft" /S /E /I /Y /Q
echo.
echo successfully completed...
echo.
pause
EXIT

:ERROR
echo.
echo Your input was invalid
echo.
PAUSE
GOTO DELETE

:ERROR2
cls
echo .minecraft folder was not found!
echo.
echo Note: mctool must be next to .minecraft
echo.
PAUSE
EXIT

:2
IF NOT EXIST mcbak\.minecraft GOTO noget
IF NOT EXIST %APPDATA%\.minecraft GOTO nowget
IF EXIST %APPDATA%\.minecraft GOTO DELNOW
IF EXIST mcbak\.minecraft GOTO nowget

:nowget
XCopy "mcbak\.minecraft" "%appdata%\.minecraft" /S /E /I /Y
cls
echo Minecraft has been Restored successfully
echo.
pause
exit

:DELNOW
cls
RD /S /Q "%APPDATA%\.minecraft"
GOTO nowget

:noget
cls
echo No backups found or have been created 
echo.
echo Note: mctool must be next to mcbak folder
echo.
pause
exit
4

1 回答 1

3

试着把%appdata引号放在里面,像这样:IF EXIST "%APPDATA%"\.minecraft GOTO DELETE.

于 2011-10-01T06:00:55.823 回答