2015-10-30 6 views
0

Я пытаюсь написать файл bat, который поможет мне сортировать папки в моей синологии. Я загружаю файлы в папку «downloads», после распаковки они являются папками. Например.пакетная команда для перемещения папок с файлами

У меня есть папки, содержащих файлы

\downloads\folder1\file1.txt 
\downloads\folder2\file2.jpg 
\downloads\folder3\file3.txt 

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

\folders with txt\folder1\file1.txt 
\folders with txt\folder3\file3.txt 

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

Пожалуйста, помогите.

ответ

0

for /d %%A in (*) do будет искать папки в текущем каталоге.

dir /b %%A\*.txt >nul 2>&1 && echo %%A напечатает имя папки, если в этой папке есть файлы .txt.

Чтобы переместить папки с .txt

for /d %%A in (*) do (
    dir /b %%A\*.txt >nul 2>&1 && move %%A "folders with txt" 
) 
+0

Что касается Вашей второй проблемы - быть более конкретным. Что значит «монтировать с помощью pushd»? 'pushd' - это команда сохранения, а затем изменение текущего каталога. –

+0

'mv' не распознается как внутренняя или внешняя команда, исполняемая программа или командный файл. –

+0

Я не могу пойти в каталоги Synology, используя простую команду cd, поэтому, когда я использую pushd, сетевое местоположение распознается как временный диск. Y:/например, но мне нужно управлять им с помощью существующего каталога, такого как pushd/NAS/downloads, я не могу это сделать только для/NAS/ –