Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 30
1

Группировка файлов в каталогах

09.02.2015, 15:47. Показов 1844. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

Есть структура папок:

archive
|
+2014-Apr-01
|
+2014-Apr-02
|
+2014-Apr-03


Нужно все файлы в папках переместить в каталог соответcтвующий формату 2014-Apr

Я написал скрипт:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
chcp 1251
setlocal enabledelayedexpansion
set input=d:\arch
set output=d:\test
set h="string"
mkdir %output%\2014
mkdir %output%\2014\2014-Jan
mkdir %output%\2014\2014-Feb
mkdir %output%\2014\2014-Mar
mkdir %output%\2014\2014-Apr
mkdir %output%\2014\2014-May
mkdir %output%\2014\2014-Jun
mkdir %output%\2014\2014-Jul
mkdir %output%\2014\2014-Aug
mkdir %output%\2014\2014-Sep
mkdir %output%\2014\2014-Oct
mkdir %output%\2014\2014-Nov
mkdir %output%\2014\2014-Dec
for /f %%i in ('dir /b %input%\') do (
for /f %%j in ('dir /b %input%\%%i\"#msgs"\') do (
ren %%j %%i_%%j
)
set h=%%i
move %input%\%%i\#msgs\* %output%\2014\%h:~0,8%\
)
проблема в том, что значение переменной h после set h=%%i все равно остается "string"

Подскажите пожалуйста с чем связана проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2015, 15:47
Ответы с готовыми решениями:

Поиск новейших версий файлов из одноимённых файлов, находящихся в двух каталогах, и перенос найденных в третий
Здравствуйте. Возникла необходимость в создании кода на batch, который делает следующее. Сначала...

Обработка pdf файлов в каталогах с подкаталогами
К примеру в каталоге c:\dir1 и его подкаталогах находятся pdf файлы. Их необходимо найти и передать...

Поиск и вывод строк из файлов в нескольких каталогах
Всем привет! Есть 23 каталога (6501-6523), в каждом каталоге есть соответствующий файл rez.01....

Поиск файлов в каталогах, проверка в ахивных дерриториях
Доброго времени суток! Помогите написать bat ничек, для следующих целей: - Имеется каталог C:\Doc\...

3
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
09.02.2015, 16:08 2
Лучший ответ Сообщение было отмечено r1sh как решение

Решение

Bash
24
move %input%\%%i\#msgs\* %output%\2014\!h:~0,8!\
1
0 / 0 / 0
Регистрация: 09.02.2015
Сообщений: 30
09.02.2015, 16:50  [ТС] 3
спасибо заработало!!! блин а почему??? о_О
0
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
09.02.2015, 17:09 4
Лучший ответ Сообщение было отмечено r1sh как решение

Решение

Цитата Сообщение от r1sh Посмотреть сообщение
а почему???

Потому что переменные, задаваемые внутри цикла, должны расширяться не с помощью символов процента, а с помощью восклицательных знаков при обязательном включении отложенного расширения переменных ("setlocal enabledelayedexpansion"), что у Вас, кстати, в коде есть.
1
09.02.2015, 17:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2015, 17:09
Помогаю со студенческими работами здесь

Удаление файлов нулевого размера в каталогах и подкаталогах
Добрый вечер. Нужна помощь в корректировке маленького скрипта: @Echo Off SetLocal For /F...

Найти и вывести имена одинаковых файлов в двух каталогах
Здравствуйте! Помогите пожалуйста решить такую задачу: Никак не могу сообразить. Вот, что...

Список всех файлов в каталогах, пути к которым указаны в параметрах
Написать bat-файл, который бы выводил на экран список всех файлов в каталогах, пути к которым...

Найти имена файлов, которые присутсвуют в первом и втором каталогах.
Помогите написать .bat программу :( В двух каталогах указан первым и вторым параметрами командного...

Вывод списка имён каталогов и поиск в этих каталогах файлов с определёнными расширениями
Всем привет, прошу прощения , но в программировании я полный ноль, нужной мне инфы не нашел ( может...

Создание пробелов, интервала между каталогами, при создании списка файлов в каталогах и подкаталогах
Все привет! Есть батник с помощью которого я создаю опись каталогов, мне его помогли довести до...

Удаление в заданных каталогах всех файлов и каталогов, указанных в виде списка, занесенного в текстовый файл
Создайте командный файл, который удаляет все файлы и каталоги, в заданных каталогах, указанные в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru