我尝试使用WinRAR的命令行实用程序 rar.exe ,但是它总是首先创建一个存档,然后在已创建存档后删除原始文件。
基本上我想做的是将多个大文件添加到一个存档中,但是可用空间不足。
实际发生的事情:
我希望实现的目标:
有什么办法可以做到这一点?
答案 0 :(得分:0)
下面的批处理文件可用于将指定源文件夹中的一个文件移到另一个文件中。
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "SourceFolder=C:\Temp"
for /F "eol=| delims=" %%I in ('dir "%SourceFolder%\*" /A-D /B 2^>nul') do "%ProgramFiles%\WinRAR\Rar.exe" m -cfg- -ep -idcdp -m4 -y -- "%SourceFolder%\Archiv.rar" "%SourceFolder%\%%I" || goto CreationError
goto EndBatch
:CreationError
echo/
pause
:EndBatch
endlocal
但是我怀疑这在没有足够的存储空间来创建包含大文件的存档文件时是否真的有用。 Rar.exe
必须在更新现有存档文件时添加一个文件,然后再创建一个现有存档文件的临时副本,这很可能再次导致可用存储空间不足的情况。
如果不运行两个进程,则无法在添加后立即删除文件。第一个进程作为单独的进程开始Rar.exe
,但是在Rar.exe
作为单独的进程运行时,逐行捕获其输出并删除Rar.exe
添加到存档的文件。但是我认为使用批处理文件是不可能实现的。
我建议以管理员身份运行 Windows 磁盘清理工具,并使用它删除不再需要的所有文件。以管理员身份运行的Windows 磁盘清理工具提供的 Windows Update清理通常会释放此清理工具从未运行过的数GB的存储空间。手动执行必要的Windows重新启动后,尽管未显示Windows重新启动对于完成 Windows Update Cleanup 是必需的,请以管理员身份手动删除文件夹%SystemRoot%\SoftwareDistribution\Download
中的所有文件夹和文件(Windows安全更新包已在Windows重新启动后安装,有时并不会自动删除,因为它应该始终由Windows Update完成)和文件夹%SystemRoot%\Temp
(系统进程的临时文件文件夹)中,以获取更多的可用存储空间。请等待Windows重新启动,直到再次显示Windows桌面,即使显示100%完成一个小时以上。 Microsoft忘记了将文件删除过程包括在百分比指示中,并且由于某些未知原因,需要很长时间才能删除成千上万的不再需要的文件,因为它们已经被较新的Windows安全更新所取代。请注意,以前从未完成过的 Windows Update Cleanup 确实需要几个小时才能完成,尤其是在Windows 8 / 8.1 / 10上,与Windows 7相比,更新时间总是更长。
最后还要清理使用过的Internet浏览器的文件缓存,以在已经用完可用存储空间时获得更多可用存储空间。