Как удалить файлы при создании архива сразу после добавления в архив? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытался использовать утилиту командной строки WinRAR rar.exe , но он всегда сначала создает архив, а затем удаляет исходный файл после того, как архив уже создан.

По сути, я пытаюсь добавить несколько больших файлов в один архив, но у меня не хватает свободного места.

Что на самом деле происходит:

  1. Файл1 добавлен в архив x.rar
  2. Файл2 добавлен в архив x.rar
  3. Файл3 добавлен в архив x.rar
  4. Файл1 удален
  5. Файл2 удален
  6. Файл3 удален

Чего я надеюсь достичь:

  1. Файл1 добавлен в архив x.rar
  2. Файл1 удален
  3. Файл2 добавлен в архив x.rar
  4. Файл2 удален
  5. Файл3 добавлен в архив x.rar
  6. Файл3 удален

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 09 апреля 2019

Приведенный ниже пакетный файл можно использовать для перемещения одного файла за другим в указанной исходной папке в архив RAR.

@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 Update Cleanup , предлагаемый Windows Disk Cleanup , при запуске от имени администратора освобождает обычно несколько гигабайт дискового пространства на этом инструменте очистки, который никогда ранее не запускался.После выполнения вручную необходимого перезапуска Windows, хотя не отображается, что перезапуск Windows необходим для завершения Очистка Центра обновления Windows , удалите вручную как администратор все папки и файлы в папке %SystemRoot%\SoftwareDistribution\Download (пакеты обновления для системы безопасности Windows уже установлены после Windowsперезапустите, а иногда и не удаляйте автоматически, как это всегда должно быть в Центре обновления Windows) и в папке %SystemRoot%\Temp (папка временных файлов системных процессов), чтобы получить еще больше свободного места на диске.Пожалуйста, дождитесь перезапуска Windows, пока рабочий стол Windows не отобразится снова, даже если 100% выполнено отображается более часа.Microsoft забыла включить процесс удаления файлов в процентное указание, и по неизвестной причине требуется очень много времени, чтобы удалить тысячи файлов, которые больше не нужны, поскольку они уже заменены более новыми обновлениями безопасности Windows.Обратите внимание, что Очистка Центра обновления Windows , которая никогда не выполнялась ранее, может занять несколько часов, особенно в Windows 8 / 8.1 / 10, где она всегда намного дольше, чем в Windows 7.

Окончательно очиститьтакже файловый кэш (-ы) используемого интернет-браузера (-ов), чтобы получить больше свободного дискового пространства при использовании уже исчерпанного свободного места.

...