Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Перенос файлов и создание папок

Ответить
Настройки темы
CMD/BAT - Перенос файлов и создание папок

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: speedo
Дата: 25-08-2015
помогите пожалуйста

есть такой батник

for /f "UseBackQ delims=" %%a in ("sound .txt") do move /y "h:\FOTO\1\%%a" "h:\sections\sound \";
for /f "UseBackQ delims=" %%a in ("sound .txt") do move /y "h:\FOTO\2\%%a" "h:\sections\sound bad\"


Перемещает файлы по списку sound .txt из папок h:\FOTO\1 в h:\sections\sound \ и из h:\FOTO\2\ в h:\sections\sound bad\

как сделать чтобы была текстовая переменная вместо "sound" - чтобы менять имя только в 1ом месте , а не в 4ех ? ( имя файла . txt и названия папок одинаковы всегда , только во втором переносе в названии папки должно добавляться слово "Bad".


и как сделать чтобы автоматом создавались эти самые папки , куда будут переносится файлы h:\sections\sound \ и h:\sections\sound bad\ - в том случае если есть что перемещать в них .

спасибо

Отправлено: 16:41, 25-08-2015

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
set fn=sound
if not exist "h:\sections\%fn% \" md "h:\sections\%fn% \"
if not exist "h:\sections\%fn% bad\" md "h:\sections\%fn% bad\"
for /f "UseBackQ delims=" %%a in ("%fn% .txt") do (
move /y "h:\FOTO\1\%%a" "h:\sections\%fn% \"
move /y "h:\FOTO\2\%%a" "h:\sections\%fn% bad\"
)
Прошу заметить, что в батнике есть несколько лишних, на мой взгляд, пробелов, оставлено как в исходном, ибо хз, м.б. так и надо

Последний раз редактировалось Elven, 25-08-2015 в 17:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:32, 25-08-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Elven, спасибо огромное

ps пробелы не нужные действительно есть

Отправлено: 18:10, 25-08-2015 | #3


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


еще одна просьба

есть общий каталог с папками

foto1
foto1 bad
foto2
foto2 bad
...

внутри каждой папки лежат файлы с разными именами - имена во всех папках разные и не повторяются . : foto1.jpg foto2.jpg и тд

есть список этих папок spisok.txt
есть определенный список с названиями фоток ok.txt

нужно перенести из каждой папки (согласно spisok.txt) файлы по списку ok .txt в папки foto1 ok , foto1 bad ok , foto2 ok, foto2 bad ok и тд

Отправлено: 14:58, 27-08-2015 | #4


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


и еще есть подкаталог с папками foto1 foto 2 и тд
есть список этих папок spisok1.txt
foto1
foto2

как переименовать эти папки согласно списку spisok2.txt
fotka1
fotka2



чтобы переименование папок было в соответствии с строками 2ух файлов

те : папка foto1 - первая строка списка spisok1.txt переименуется в папку fotka1 - согласно первой строке списка spisok2.txt
папка foto2 - вторая строка списка spisok1.txt переименуется в папку fotka2 - согласно второй строке списка spisok2.txt

Последний раз редактировалось speedo, 27-08-2015 в 16:00.


Отправлено: 15:54, 27-08-2015 | #5


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата speedo:
нужно перенести из каждой папки (согласно spisok.txt) файлы по списку ok .txt в папки foto1 ok , foto1 bad ok , foto2 ok, foto2 bad ok и тд »
Код: Выделить весь код
pushd "общий_каталог_с_папками"
for /f "delims=" %%d in (spisok.txt) do (
for /f "delims=" %%f in (ok.txt) do (
if not exist "%%d_ok" md "%%d_ok"
move "%%d\%%f" "%%d_ok\%%f"
)
)
popd
общий_каталог_с_папками заменить на путь до этого самого каталога.
приблизительно так, правда тут много допущений, например что в spisok.txt содержатся только имена папок, и что папки_ok должны создаваться в "общем каталоге с папками"

Цитата speedo:
папка foto1 - первая строка списка spisok1.txt переименуется в папку fotka1 - согласно первой строке списка spisok2.txt
папка foto2 - вторая строка списка spisok1.txt переименуется в папку fotka2 - согласно второй строке списка spisok2.txt »
вот тут я что-то озадачен

Отправлено: 16:05, 27-08-2015 | #6


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


работает.

один нюанс
можно ли чтобы при переносе файла в новую папку соответствующая строка из списка ok.txt удалялась? - тк список содержит 300 000 - очень долго все будет переносится

Последний раз редактировалось speedo, 27-08-2015 в 18:40.


Отправлено: 18:21, 27-08-2015 | #7


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата speedo:
можно ли чтобы при переносе файла в новую папку соответствующая строка из списка ok.txt удалялась?»
Разве что писать в отдельный файл, а потом переименовывать, заменяя исходный.

Отправлено: 19:19, 27-08-2015 | #8


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


а подробнее.

Отправлено: 19:25, 27-08-2015 | #9


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


http://forum.oszone.net/thread-275284.html

Отправлено: 19:51, 27-08-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Перенос файлов и создание папок

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Создание папок и файлов со с случайными именами. Kirstem Скриптовые языки администрирования Windows 0 26-04-2015 20:06
CMD/BAT - Перенос всех файлов из включенных папок 4zz Скриптовые языки администрирования Windows 2 26-08-2012 21:33
CMD/BAT - Создание папок по расширению файлов jokerbleck Скриптовые языки администрирования Windows 8 20-02-2012 07:16
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов KamikadZZe Скриптовые языки администрирования Windows 1 01-09-2011 14:15
VBS/WSH/JS - Создание папок исходя из имени хоста.Создание ярлыков. ufunf Скриптовые языки администрирования Windows 1 18-02-2010 13:59




 
Переход