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

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

Ответить
Настройки темы
CMD/BAT - [решено] Переместить каждый файл в отдельную папку

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


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

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


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

Пример:
Файлы в папке
test1.mp3
test2.mp3
test3.mp3

Скрипт моздает папки
test1
test2
test3
перемещая в них по одному соответствующие файлы.

Спасибо!

Отправлено: 09:30, 12-03-2019

 

(*.*)


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

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


В PowerShell
Код: Выделить весь код
dir *.mp3 | foreach {
md $_.BaseName
move $_.FullName .\$($_.BaseName)
}

Отправлено: 14:32, 12-03-2019 | #2



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

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


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


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

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


Спасибо НО
Папки создались, но файлы не переместились

Вывод команды (тест на 10 файлов):

Код: Выделить весь код
    Каталог: C:\aa\uwp


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        12.03.2019     17:21            ump_podcast1
d----        12.03.2019     17:21            ump_podcast10
d----        12.03.2019     17:21            ump_podcast2
d----        12.03.2019     17:21            ump_podcast3
d----        12.03.2019     17:21            ump_podcast4
d----        12.03.2019     17:21            ump_podcast5
d----        12.03.2019     17:21            ump_podcast6
d----        12.03.2019     17:21            ump_podcast7
d----        12.03.2019     17:21            ump_podcast8
d----        12.03.2019     17:21            ump_podcast9
На всякий случай последовательность моих действий:
1. Сохранил ваш код в текстовый файл sc.ps1
2. Обратился к файлу через консоль PowerShell

Отправлено: 15:24, 12-03-2019 | #3


(*.*)


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

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


Поправил код, там съело ._ изначально

Можно просто в консоль вставлять, только сначала перейти в папку с cd.

Отправлено: 16:18, 12-03-2019 | #4


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
	FOR %%f IN (*.mp3) DO Md "%%~nf" &>nul Move "%%f" "%%~nf\" &<Nul Set /P ~=>"%%~nf\%%~nf.txt"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 13-03-2019 в 12:11. Причина: Добавил создание текстового файла после уточнения задания


Отправлено: 16:40, 12-03-2019 | #5


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


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

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


Vadikan, спасибо, а можно добавить одно действие?)
Чтобы в созданной папке создавался txt-файл пустой с именем этой папки.

Подозреваю, что где-то между md и move надо вставить new-item, но хотел уточнить

Отправлено: 08:08, 13-03-2019 | #6


(*.*)


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

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


Цитата zzzt:
надо вставить new-item »
Да, и у вас уже есть все необходимое. $_.BaseName - имя файла без расширения.

Код: Выделить весь код
dir *.mp3 | foreach {
md $_.BaseName
move $_.FullName .\$($_.BaseName)
ni -Path .\$($_.BaseName) -Name "$($_.BaseName).txt" -ItemType File
}

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 10:23, 13-03-2019 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поместить каждый файл в одноименную папку. Metallor Скриптовые языки администрирования Windows 11 20-03-2022 00:59
CMD/BAT - [решено] разбить файл на много файлов по шаблону и каждый файл положить в папку Mezolick Скриптовые языки администрирования Windows 3 03-02-2017 08:38
Интерфейс - [решено] Не дает переименовать/переместить папку/файл + не работают ножницы .ExeRun Microsoft Windows 7 11 17-08-2011 14:16
Блог - Как добавить в контекстное меню пункты “Копировать в папку” и “Переместить в папку” Vadikan Microsoft Windows 7 2 28-11-2010 22:09
Разное - [решено] не повредит ли системе констменю "Копировать в папку" и "Переместить в папку"? celentanoman Microsoft Windows 2000/XP 7 28-10-2009 03:53




 
Переход