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

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

JimmLight 11-09-2020 12:36 2933689

Копирование файлов с сохранением структуры (пути в txt)
 
Подсобите в написании скрипта.
У меня есть несколько *.txt файлов, которые в себе содержат пути к *.txt файлам, которые необходимо скопировать в другую директорию сохранив структуру каталогов и разрешения к ним.

Каким образом реализовать?

P.S.: после замечательной команды:
Код:

copy *.txt ALL_Files.txt
Файлы объединились в один txt-файл. Соответственно все пути к файлам находятся в одном файле.

DJ Mogarych 11-09-2020 22:46 2933752

Задача непонятна, добавьте пример.

YuS_2 12-09-2020 13:34 2933794

Цитата:

Цитата JimmLight
после замечательной команды: »

файлы склеиваются таким образом, что последняя строка одного файла, будет склеена с первой строкой следующего... в общем, не надо запускать эту замечательную команду...
powershell
Код:

# каталог с файлами, содержащими пути для копирования
# относительный, либо абсолютный путь:
$src = '.\TXT'

# Целевой каталог
# относительный, либо абсолютный путь:
$dst = '.\DST'

# Получение списка путей для копирования:
$list = gc "$src\*.txt" -enc utf8

if (!(test-path $dst)){$null = md $dst}
gi $list|%{
        $d = $dst + (split-path $_.directoryname -noq)
        if (!(test-path $d)){$null = md $d}
        copy $_.fullname $d
}


JimmLight 13-09-2020 18:19 2933893

YuS_2, спасибо. Работает как надо, за исключением копирования прав доступа.

YuS_2 13-09-2020 19:59 2933905

Цитата:

Цитата JimmLight
за исключением копирования прав доступа. »

действительно, как-то упустил этот момент...
вот так надо было:

Код:

# каталог с файлами, содержащими пути для копирования
# относительный, либо абсолютный путь:
$src = '.\TXT'

# Целевой каталог
# относительный, либо абсолютный путь:
$dst = '.\DST'

# Получение списка путей для копирования:
$list = gc "$src\*.txt" -enc utf8

if (!(test-path $dst)){$null = md $dst}
gi $list|%{
        $d = $dst + (split-path $_.directoryname -noq)
        if (!(test-path $d)){
                $null = md $d
                get-acl $_.directoryname|set-acl -path $d
        }
        copy $_.fullname $d
        get-acl $_.fullname|set-acl -path ($d + '\' + $_.name)
}


slonmonstr 17-03-2022 09:44 2981807

подскажите. на примерах других сайтов, есть возможность одним кликом скачать данные со страницы одним кликом. какой вписать ? даю скрин моего сайта.


какой код на PHP?


Время: 12:55.

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