得到了namejm的帮助,也在这里说声谢谢- @echo off
- setlocal enabledelayedexpansion
-
- :Main
- cls
- set num=0
- for %%i in (*profilebackup*.rar) do (
- set /a num+=1
- set "File!num!=%%i"
- call echo !num!. %%File!num!%%
- )
-
- if %num% equ 0 exit
-
- if %num% gtr 0 (
- echo.&echo ______________________________________________ &echo.
- echo 把要恢复的备份文件拖拽到本窗口中
- echo 或者选择上述文件前面对应的数字
- echo 直接回车将选择列表中最后一个文件
- echo.
- )
-
- set "choice="
- set /p "choice= 请选择:"
-
- if "%choice%"=="" (
- call :Recover
- exit
- )
-
- set /a "sum=%choice%+0" 2>nul
- if "%sum%"=="%choice%" (
- if exist "!File%choice%!" (
- call :Recover
- ) else (
- goto Main
- )
- ) else (
- echo "%choice:"=%"|findstr /i "^.[a-z]:\\.*\.rar.$">nul&&(
- call :Recover
- exit
- )
- goto Main
- )
- exit
-
- :Recover
- cls
- taskkill /f /im firefox.exe 2>nul
- rd /q /s profile.old 2>nul
- ren profile profile.old 2>nul
- md profile 2>nul
- rar x -r "!File%choice%!" profile
- cls
- echo.&echo 是否重启FireFox.exe?
- echo.
- echo 是[Y]/否[直接回车]
- echo.
- set "choice="
- set /p "choice= 请选择:"
- if /i "%choice%"=="y" (
- start "" "firefox.exe"
- )
- goto :eof
复制代码 只是在文件列表直接回车选择最后一个文件恢复时,并没有恢复备份,看代码看不出所以然 |