PDA

Показать полную графическую версию : [решено] Массовое перемещение файлов из списка files.txt


ANIMka
17-12-2018, 04:42
Как можно массово перенести/переименовать группу файлов которые перечислены в списке созданным при помощи команды dir /a /b /-p /o:gen >files.txt ?
Желательно с помощью cmd без стороннего софта.

Iska
17-12-2018, 08:55
Во-первых, там могут быть не только файлы. Во-вторых, перенести и переименовать — две разные вещи, если перенести — то куда и как, если переименовать — то как, на что, по какому принципу? В-третьих, Вам что принципиальнее — шашечки или ехать?

ANIMka
17-12-2018, 22:59
Iska, пока интересуют только перенос файлов, ну остановимся только на муве файлов другую папку без переименовывания.

Ну пример
Есть папка с 5 файлами: 1.exe 2.exe и тд.
И текстовый файл в котором перечислены только 3 из 5 файлов.
Задача перенести перечисленные в файле файлы в другую папку.

Iska
17-12-2018, 23:25
for /f "usebackq delims=" %i in ("Текстовый файл в котором перечислены только 3 из 5 файлов.txt") do @move "%~i" "C:\Путь в другую папку"
Для использования в пакетном файле символы % нужно удвоить, @ — можно убрать.

ANIMka
18-12-2018, 19:06
Iska, Благодарю, мне как раз это и было нужно.
Хотя было бы удобнее если бы была возможность указать оба каталога и расположение текстовика со списком файлов по отдельности.

Так же интересует как можно сделать что бы вместо перемещения по такому же принципу создавались символьные ссылки ? Ну и так же удаление файлов...

Iska
18-12-2018, 19:38
указать оба каталога и расположение текстовика со списком файлов по отдельности »
for /f "usebackq delims=" %i in ("Полный путь к текстовому файлу, в котором перечислены только 3 из 5 файлов.txt") do @move "Полный путь к каталогу источнику\%~i" "Полный путь к каталогу-приёмнику\"

по такому же принципу создавались символьные ссылки »
for /f "usebackq delims=" %i in ("Полный путь к текстовому файлу, в котором перечислены только 3 из 5 файлов.txt") do @mklink "Полный путь к каталогу-приёмнику\%~i" "Полный путь к каталогу источнику\%~i"

так же удаление файлов... »
for /f "usebackq delims=" %i in ("Полный путь к текстовому файлу, в котором перечислены только 3 из 5 файлов.txt") do @del /f /q "Полный путь к каталогу источнику\%~i"

ANIMka
19-12-2018, 03:55
Iska, Идеально, спасибо !

Iska
19-12-2018, 05:13
И всё ж Far Manager будет удобнее.




© OSzone.net 2001-2012