P驱完全镜像主动回收空闲内存的bat的设置内容和方法:
本帖最后由 sairen139 于 2023-3-24 15:33 编辑P驱完全镜像主动回收空闲内存的bat的设置内容和方法:
@echo off
set dd=C:
fsutil volume diskfree %dd% >%dd%\size.txt
ping -n 1 127.0.0.1>nul
for /f "tokens=2 delims=:" %%i in (%dd%\size.txt) do (set size=%%i)
fsutil file createnew %dd%\test.zip %size%
del %dd%\test.zip /f /q
exit
本帖最后由 sairen139 于 2023-3-25 18:43 编辑
还可以加个vbs静默运行
createobject("wscript.shell").run
"filldiskC.bat",0
如果你的ramos内存系统精简了运行vbs的组件,也不想用cc.exe还可以用hr.exe来完全隐藏bat批处理的运行。只要开机启动脚本添加hr.exe再另一个参数框里填入bat批处理的具体路径文件名即可!如下图所示:
Win10x64的Ramos系统,P驱双镜像的=占用+空闲,
该bat是群里的浩还是心心搞出来的,有点记不清楚了。在此感谢群友们! {:1_186:} {:1_186:} 方法非常好,细节有点少,期待高手出个教程 @echo off&setlocal enabledelayedexpansion ::不适用于智能镜像,仅适用于完全镜像,感谢双心版主提供帮助 set dd=C: ::设置要回收的盘符如C: for /f "tokens=1 delims= " %%i in ('wmic logicaldisk where "caption='%dd%'" get freespace') do ( set /a n+=1 if !n!==2 (set size=%%i) else echo >nul ) fsutil file createnew %dd%\test.zip %size%del /f /q %dd%\test.zip exit 手机回复,此p更完善一些。 set dd=C: ::设置要回收的盘符如C: for /f "tokens=1 delims= " %%i in ('wmic logicaldisk where "caption='%dd%'" get freespace') do ( set /a n+=1 if !n!==2 (set size=%%i) else echo >nul ) fsutil file createnew %dd%\test.zip %size%del /f /q %dd%\test.zip exit 路过点赞支持一下,太难了对于小白 谢谢分享,先尝试下 dos时代最方便的系统编程语言,几十年里°不见消亡,有时间要好好学习一下 感谢分享,暂时还不明白完全模式回收内存什么意义? 本帖最后由 sairen139 于 2022-3-31 10:33 编辑
qq812575 发表于 2020-4-15 03:06
感谢分享,暂时还不明白完全模式回收内存什么意义?
意义在于进ramos桌面后立刻把被浪费的内存都腾空出来,如果你的内存条容量很大的话其实不用搞这种完全镜像模式回收内存。内存大ramos即便是完全镜像也可以随便用不用管内存占用这种无关大局的小事!
由本论坛yiyu2012改进的更完美的批处理如下
@echo off
setlocal EnableDelayedExpansion
:: 获取管理员权限
set _Args=%*
if "%~1" NEQ "" (
set _Args=%_Args:"=%
)
fltmc 1>nul 2>nul || (
cd /d "%~dp0"
cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~dp0"" && ""%~dpnx0"" ""%_Args%""", "", "runas", 1 > "%temp%\GetAdmin.vbs"
"%temp%\GetAdmin.vbs"
del /f /q "%temp%\GetAdmin.vbs" 1>nul 2>nul
exit
)
cd /d "%~dp0"
set "str=U O P R W V C"
echo 开始释放内存盘%str%内存
for %%a in (%str%) do (
set ckd=%%a:
set dd=0
if exist !ckd! set dd=!ckd!
call :filldisk
)
echo.&echo 操作完成!
pause>nul
exit
:filldisk
if !dd!==0 exit /b
echo.&echo 正在释放内存盘!dd!内存...
del !dd!\test*.zip /f 1>nul 2>nul
for /f "tokens=3 delims=:" %%i in ('bootmode !dd!^|find /i "FreeSpace"') do set size=%%i
set /a n=!size!/1024
set /a nn=n+1
set /a m=!size!-n*1024-100
set /a l=m*1024*1024
set rt=0
fsutil file createnew !dd!\test_!nn!.zip !l! 1>nul 2>nul
:ctt
set /a rt+=1
fsutil file createnew !dd!\test_!rt!.zip 1073741824 1>nul 2>nul
if !rt! LSS !n! goto :ctt
del !dd!\test*.zip /f 1>nul 2>nul
exit /b
感谢分享 路过学习 学习学习 感谢分享
页:
[1]