2015-02-14 6 views
1

Название в значительной степени говорит обо всем. Моя цель - создать какой-то файл, который может быть выполнен двойным щелчком (например, пакетный), где я указываю (в файле) путь к папке, который не нужно отправлять в корзину, но отправьте его СОДЕРЖАНИЕ в корзину. Видите, я делаю это для кожи Rainmeter. У меня много временных файлов и папок, созданных Adobe, и я могу контролировать, где они находятся. Тем не менее, может быть довольно много из них, которые складываются внутри папки, в которой я им говорил, поэтому мне нужно найти способ создания файла, который будет перерабатывать все файлы и папки в указанной папке (но не перерабатывать или удаление указанной папки). Таким образом, указанная папка все еще будет существовать, так что мне не нужно создавать новую папку и принудительно переместить Premiere Pro в новую папку (в том случае, когда я удаляю папку, содержащую файлы, которые необходимо удалить, что я я уже понял, как это сделать) каждый раз, когда я использую этот скрипт.Переустановите СОДЕРЖАНИЕ папки, но не самой папки с файлом Batch или VBS.

Я пробовал утилиту под названием «Recycle.exe», но я могу только выяснить, как заставить ее перерабатывать указанную папку, а не перерабатывать ее содержимое. Например, когда я пытаюсь следующий в пакетном файле (при использовании следующей утилиты: http://www.maddogsw.com/cmdutils/):

@echo off 
Recycle D:\TestFolder 
pause 

Это пошлет папку с именем «TestFolder» в корзины, а также его содержание (таким же образом они будут отправлены в корзину, если вы просто сделали это нормально). Моя цель - сохранить указанную папку неповрежденной, все еще существующей, но имеющую ВСЕ ее содержимое, а не удаленное, но отправленное в Корзину. Я пробовал много вещей, но безуспешно. Мне все равно, что нужно для достижения этого, но конечный продукт должен привести к файлу, который можно дважды щелкнуть и отправить содержимое указанной папки в Корзину. Файлы VBS и Batch были просто примерами, но я уверен, что могут быть другие способы сделать это. Мне действительно нужна твоя помощь, потому что я очень близко отношусь к этому.

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

+0

Можете ли вы запустить recycle.exe в файлах или требуется ли для этого параметра указать папку? – SomethingDark

+0

Вы также можете использовать его в файлах. Однако вам нужно напрямую указать файлы (используя каталог/путь к файлу). Он также способен одновременно перерабатывать несколько файлов и папок, но проблема в том, что они должны быть указаны. Это не то, с чем я могу работать, когда Adobe создает файлы Media Cache с именами, которые постоянно меняются (некоторые из них основаны на дате создания и т. Д.). Вот почему моя цель - переработать содержимое указанной папки, чтобы вышеупомянутая проблема отсутствовала. –

ответ

2

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

pushd D:\TestFolder 
for /F %%A in ('dir /b') do Recycle %%A 
popd 

Вы можете сказать echo Recycle %%A первым, чтобы убедиться, что он собирается захватить все, что вы хотите.

Документация recycle.exe претензии вы можете использовать групповые символы, так в теории вы могли бы просто сказать recycle D:\TestFolder\*.* вместо того, чтобы использовать для цикла.

+0

Вы были верны. Это все, что нужно, и это было успешным. Я не был уверен, что изначально ссылался на подстановочный знак, но теперь он работает безупречно. Это код, который работал: эхо корзина %% рецикла L:. \ Testin \ * паузы –

+0

Вот ссылка для получения информации о подстановочных знаков (есть и другие для других программ, это просто Windows/DOS подстановочные знаки). https://technet.microsoft.com/en-us/library/bb490639.aspx – user4317867