-3

вот трюк Предположим, что я хочу освободить место и запустить этот скрипт в F:\UnrealProjects, который имеет чуть более 50-60 подпапок, я хотел бы, чтобы этот скрипт перебрал все свои подпапки, проверил, содержит ли он папку с именем Binaries, Build, Intermediate и удалите все в нем, включая Binaries, Build, Intermediate папки непосредственно, это это существует.

Я не слишком ленив, чтобы сделать это вручную один раз, но при повторном открытии некоторых проектов они частично или полностью перестраивают себя, и это занимает много места, так как я действительно не нуждаюсь в их полной сборке во все времена. Мне просто нужно их заархивировать :) И собирать только те, которые я хочу построить. Мне бы очень хотелось, чтобы это было в форме сценария без (честно говоря) необходимости писать его самому и изучать лучший способ сделать это.

Я знаю, что это не очень круто, просто нагло просить помощи / кого-то, кто бы сделал этот сценарий для меня, но опять же, это просто разовая вещь.

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

РЕДАКТИРОВАТЬ:

Хорошо, просто чтобы прояснить ситуацию. Я хочу поместить этот скрипт в U:\Projects . Я хочу запустить его из U:\Projects и пройти через все подпапки в папке текущих projects (или все проекты) и удалить папки Build , Binaries и Intermediate если они существуют в просматриваемом в данный момент проекте. Я не хочу помещать этот скрипт в каждый проект и запускать его оттуда, чтобы просто очистить три папки, которые могут существовать или не существовать.

Надеюсь, теперь я прояснил ситуацию.

РЕДАКТИРОВАТЬ 2: Смысл этого сценария состоит в том, чтобы просто «очистить» все промежуточные, создать и сохранить файлы из папки проекта, сохраняя при этом остальные нетронутыми, чтобы я мог перестроить их позже в какой-то момент.

Это означает, что - для каждой папки в U:\Unreal Projects - удалить currentFolder\Build , currentFolder\Intermediate\, currentFolder\Saved , currentFolder\Binaries`

и это все :) спасибо всем за попытку помочь или помочь (у)

EDIT3:

Как-то я обратился к powershell. Вот что я получил до сих пор ls -Recurse -Include Build, Binaries, Intermediate, Saved | Remove-Item -Force -Recurse Однако есть две проблемы с этим.

Проблема 1 - я бы очень хотел, чтобы он не удалял и не включал Plugins\Binaries или как-то полностью пропускал папки плагинов. Но это не самая большая проблема, потому что ....

2 ответа2

1
@echo off

for /F %%i in ('dir /b /a:d') do (
    dir /b /d %%i\build 2>NUL && echo rmdir /q /s %%i
)

Удалить эхо перед rmdir, если вы обнаружите, что он делает то, что вы хотите? ВНИМАНИЕ, это немного не проверено, поэтому будьте осторожны, может быть, лучше отобразить файл и запустить его после редактирования.

0

Итак, после нескольких неудачных попыток вот что решило проблему для меня.

Я сделал файл powershell-clean.bat , содержащий следующие

echo 'this won't touch Binaries subfoldrs, only (Build, Intermediate, Saved).  
powershell.exe -ExecutionPolicy Bypass -Command "ls -Recurse -Include Build, Intermediate, Saved | rmdir -Force -Recurse"   

Мне пришлось сэкономить папку Binaries , потому что, когда я помещаю ее в powerscript, она также удаляет мой Project\Plugins\Binaries что является большим нет-нет. С другой стороны, я создал резервную копию плагина и запустил скрипт, и вдруг у меня появилось 74,9 ГБ вместо 546 МБ свободного пространства.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .