声明:本工具只为广大网友测试学习使用,由于使用本工具不当造成的各种损失责任均由使用者承担。
这两天根据临时需要,用批处理写了个 U 盘记录清理工具,目前已完全支持 NT5.X 和 NT6.X 操作系统。使用“管理员方式运行”即可兼容 Vista 和 Win7 系统。
声明:本工具只为广大网友测试学习使用,由于使用本工具不当造成的各种损失责任均由使用者承担。
这两天根据临时需要,用批处理写了个 U 盘记录清理工具,目前已完全支持 NT5.X 和 NT6.X 操作系统。使用“管理员方式运行”即可兼容 Vista 和 Win7 系统。
最近我在用批处理写一个 U 盘记录清理工具,目前已经实现了自动搜索识别所有 U 盘相关的注册表项,但是现在在删除这些项时遇到了问题,就是像 HKLM\SYSTEM\controlset001\ENUM\usbstor 这样 的权力受限项就无法通过 reg delete 命令或导入注册表文件的方式删除。
经过研究,最终找到了解决办法,使用 setacl 工具,直接对注册表项
setacl -on " 注册表项 " -ot reg -actn ace -ace "n:Everyone;p:full;i:so,sc;m:set"
后就可以用 reg delete 删除了
喜欢玩 Flash 游戏的同学要开心了,因为发愁在 U 盘里存的 Flash 游戏的存档进度一换机器就没了,游戏没法接着玩,我就着手制作了一个通用 Flash 游戏存档备份恢复器,它是一个批处理文件名为 Flash 游戏存档备份恢复器.bat ,它配合 7z.exe 应用程序,可以把你机器里所有的(包括在你机器上玩过的网页上的)Flash 游戏存档给压缩成一个名为 savegame.7z 的存档文件保存起来。你把它和存档文件一起放在优盘里,带到别的机器上时,只要双击它,选择恢复存档,就可以把存档恢复到别的机器上了。然后再打开 Flash 游戏,就会读取到存档了。另外他也支持清除存档功能。批处理的内容如下:
@echo off
cls
color 0A
title Flash 游戏存档备份恢复器 by X
mode con COLS=42 LINES=17
SET Var0=%0
IF '^%Var0:~0,1%'=='^"' SET Var0=%Var0:~1,-1%
FOR /f "delims=" %%I in ("%Var0%") do Set TP=%%~dpI
SET TP=%TP:~0,-1%
SET Z="%TP%\7z.exe"
set GamesavePath="%userprofile%\Application Data\Macromedia\Flash Player\#SharedObjects"
goto Menu
:Menu
cls
color 0A
ECHO.
ECHO + ☆★☆★- X 制 作 -★☆★☆ +
ECHO + PS:Flash 游戏的存档能否读取取决于 +
ECHO + 游戏文件的名称和路径是否一致 +
ECHO ————————————————————
echo [1]. 备份存档 [2]. 恢复存档
echo.
echo [3]. 删除本机存档
echo.
echo [4]. 删除本目录存档
echo.
echo [5]. 退出
echo.
ECHO 〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉
echo.
for %%I in (CHOICE.exe) do if "%%~$PATH:I"=="" goto norc
CHOICE /C 12345 /N /M 请输入选择操作的序号:
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO SERVICE1
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO SERVICE2
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO SERVICE3
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO SERVICE4
IF ERRORLEVEL 5 GOTO END
:norc
SET CHECK=
SET /P CHECK= 请输入选择操作的序号并回车:
IF /I "%CHECK%"=="1" GOTO SERVICE1
IF /I "%CHECK%"=="2" GOTO SERVICE2
IF /I "%CHECK%"=="3" GOTO SERVICE3
IF /I "%CHECK%"=="4" GOTO SERVICE4
IF /I "%CHECK%"=="5" GOTO END
goto MENU
:SERVICE1
cls
echo.
if not exist %Z% (
set err=7z.exe 不存在
goto error
)
echo 正在备份…请稍后…
if not exist %GamesavePath%\00000000 md %GamesavePath%\00000000
FOR /F %%i In ('DIR %GamesavePath% /B /AD /O-N') DO if not "%%i"=="00000000" xcopy %GamesavePath%\%%i\*.* %GamesavePath%\00000000\*.* /e /c /q /y && rd %GamesavePath%\%%i /s /q
%Z% a -mx=9 SaveGame.tmp %GamesavePath%\* -o"%TP%" >nul
if exist SaveGame.7z (for %%a in (SaveGame.tmp) do (for %%i in (SaveGame.7z) do (
if %%~za lss %%~zi (
echo 备份文件小于先前备份,为防止丢失数据不予覆盖,备份文件名称改为 SaveGameLess.7z, 有可能是你没有关闭 Flash 播放器导致的,请关闭 Flash 播放器重试
if exist SaveGameLess.7z (del SaveGameLess.7z /q)
ren SaveGame.tmp SaveGameLess.7z
) else (
echo 备份文件大于先前备份 SaveGame.7z,现予覆盖
del SaveGame.7z /q
ren SaveGame.tmp SaveGame.7z
)
)
)
) else (ren SaveGame.tmp SaveGame.7z)
echo.
echo 备份 Flash 游戏存档完毕,按任意键返回
pause >nul
goto Menu
:SERVICE2
cls
echo.
if not exist %Z% (
set err=7z.exe 不存在
goto error
)
if not exist "%TP%\SaveGame.7z" (
set err= 存档备份 SaveGame.7z 不存在
goto error
)
echo 开始恢复…请稍后…
FOR /F %%i In ('DIR %GamesavePath% /B /AD /O-N') DO if not "%%i"=="00000000" rd %GamesavePath%\%%i /s /q
%Z% x -o%GamesavePath% SaveGame.7z -y >nul
echo.
echo 已恢复,按任意键返回
pause >nul
goto Menu
:SERVICE3
cls
if not exist "%TP%"\SaveGame.7z (
COLOR cf
echo 警告
echo.
echo 本目录下好像没有存档,你确定也要本机的存档也删除掉吗?
SET CHECKY2=
SET /P CHECKY2= 若要继续请输入大写 Y 并回车, 按其他键返回:
IF /I "%CHECKY2%"=="Y" GOTO delms
goto menu
)
:delms
echo 正在删除…请稍后…
for /d %%a in (%GamesavePath%\*.*) do rd /s /q "%%a" >nul 2>nul
del /a /f /s /q %GamesavePath%\*.* >nul 2>nul
echo 删除本机存档完毕!按任意键返回
pause >nul
GOTO MENU
:SERVICE4
cls
if not exist %GamesavePath%\00000000 (
COLOR cf
echo 警告
echo.
echo 本机好像没有存档,你确定也要本目录下的存档也删除掉吗?
SET CHECKY=
SET /P CHECKY= 若要继续请输入 Y 大写并回车, 按其他键返回:
IF /I "%CHECKY%"=="Y" GOTO deldirs
goto menu
)
:deldirs
echo 正在删除…请稍后…
del /a /f /s /q "%TP%"\SaveGame.7z >nul 2>nul
del /a /f /s /q "%TP%"\SaveGameLess.7z >nul 2>nul
echo 删除目录下存档完毕!按任意键返回
pause >nul
GOTO MENU
:error
ECHO.
ECHO + ☆★☆★- X 制 作 -★☆★☆ +
ECHO. + PS:Flash 游戏的存档能否读取取决于 +
ECHO + 游戏文件的名称和路径是否一致 +
ECHO.
echo 出错啦!!
echo.
ECHO.
ECHO (*^__^*)
ECHO.
echo.
ECHO %err%
ECHO.
ECHO.
ECHO 请——按——任——意——键——继——续
pause >nul
goto Menu
:end
注意:要成功读取 Flash 游戏的存档,必须确保 Flash 游戏的名称和路径(不包括盘符)没有发生改变