Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт для извлечения файлов из папок (http://forum.oszone.net/showthread.php?t=347715)

Latinyanin 21-01-2021 15:25 2947117

Скрипт для извлечения файлов из папок
 
Привет!
Нужен скрипт автономный, который можно запускать прямо из корневой папки, для извлечения файлов из папок.



https://www.upload.ee/files/12794529/_______.zip.html

Можно мне код?

Iska 21-01-2021 18:55 2947130

Latinyanin, «извлечение файлов из папок» — это как?!

DJ Mogarych 21-01-2021 20:00 2947141

:laugh: Что только не прочтёшь иной раз в ТЗ!

Elven 22-01-2021 08:14 2947204

Цитата:

Цитата DJ Mogarych
Что только не прочтёшь иной раз в ТЗ! »

Если лажа в ТЗ, то и результат ХЗ.
Приблизительно так может быть. Перед названием извлекаемых файлов добавлен %random% потому как имя файла совпадает с именем папки, чего винда не очень любит, ну и с файлами с одинаковыми названиями заодно вопрос решает.
Код:

@echo off
for /f %%i in ('dir /s /a:-d /b') do copy /y "%i" .\%random%%%~nxi

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

Одно понять не могу - ЗАЧЕМ? Нормальные адекватные читалки умеют колупаться не только в папках, но даже в архивах выколупывая оттуда список книг не обращая внимания на такую мелочь как папки, подпапки и проч.

Latinyanin 23-01-2021 22:40 2947396

Elven, не удалось вашим скриптом вытащить файлы, где ошибка?


https://cloud.mail.ru/public/5jTx/irod7V66C

Цитата:

Цитата Elven
CP866, з »

в AkelPad
не нашел такой кодировки,,,,,

Iska 23-01-2021 23:14 2947398

Цитата:

Цитата Latinyanin
в AkelPad не нашел такой кодировки,,,,, »


Latinyanin 24-01-2021 14:11 2947432

Iska,
че путаете? Эту кодировку я знаю! Вы ж мне ее и подсказали в свое время! а
Elven, писал про какое-то
Цитата:

Цитата Latinyanin
CP866, »

Если это суть одно и тоже, то почему скрипт млин не работает

https://cloud.mail.ru/public/5jTx/irod7V66C

И кстати имена файлов и папок не совпадают! Не должно быть выше описанных проблем

Iska 24-01-2021 14:41 2947435

Цитата:

Цитата Latinyanin
а Elven, писал про какое-то CP866»

Это одно и то же.

Цитата:

Цитата Latinyanin
Если это суть одно и тоже… »

Именно так.

Elven 24-01-2021 23:03 2947464

откровенно лень придумывать костылесипеды и разбираться почему оно в cmd не завелось (тот вариант в #4 был написан просто по памяти и не проверялся от слова вообще). Юзайте пошик.
Код:

Copy-Item .\*\*\
Ну а если так уж нужно извлечь на cmd то из него же запустить тот же пош
Код:

powershell /c (Copy-Item .\*\*\)
и/или с рандомом в названии
Код:

Get-Item .\*\*\ | ForEach-Object {Copy-Item $_.FullName (".\" + $(Get-Random)+"_"+$_.name)}

Latinyanin 10-02-2021 13:28 2949578

Цитата:

Цитата Iska
Это одно и то же. »

знать буду теперь твердо

Latinyanin 17-02-2021 14:28 2950446

Elven,
Привет! Отбзал оба варианта кодов - работает только второй, тот, что пауэр шел
Спасибоки, че тут исчо скажешь!

А вот в этом коде
Код:

@echo off
powershell -executionpolicy bypass -command "Get-ChildItem -file | Where-Object {$_.Extension -ne '.bat'} | ForEach-Object {Rename-Item """$($_.name)""" """$($_.name -replace '(\s)([1-9])(\s)', ' 0$2 ' -replace ' - ', '  -  ')"""}"
pause
exit

можете убрать добавление тире в имя фала, и оставить только функцию добавления нуля перед цифрами? Если вам не трудно конечно.

alpap 18-02-2021 02:26 2950509

Цитата:

Цитата Latinyanin
убрать добавление тире в имя фала »

?..., в коде удваиваются обрамляющие пробелы вокруг тире. А теперь подумайте и напишите четко что вам именно требуется.

Latinyanin 18-02-2021 15:42 2950569

Цитата:

Цитата alpap
?..., в коде удваиваются обрамляющие пробелы вокруг тире. А теперь подумайте и напишите четко что вам именно требуется. »

1 убрать обрамляющие пробелы вокруг ти
2 оставить возможность добавления ноля перед цифрами от единицы ддо девяти

С "фалом"
опечатка, имелось ввиду файл

alpap 18-02-2021 20:25 2950611

Цитата:

Цитата Latinyanin
убрать обрамляющие пробелы »

Код:

...-replace ' - ', '  -  '...
поменять на:
Код:

...-replace ' - ', '-'...

Latinyanin 28-02-2021 12:29 2951467

alpap, я ничего не понял! В моем коде что убратьь чтобы решить задачу? А вы мне новое что-то предлагаете! В моем коде никакого реплайзе не было!


Время: 08:08.

Время: 08:08.
© OSzone.net 2001-