Компьютерный форум 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=339950)

Chezorezka 02-04-2019 01:51 2866263

Создание ярлыков папок и файлов с определенной структуры.
 
Добрый день форумчане.
Сам я не "але" в создании подобного рода скрипта,начальство сказало...Поэтому если буду нести всякую "ересь" не пинайте.
Имеется определенная структура папок и файлов,мне нужно создать полную копию этой структуры,но только в ярлыках,что бы все файлы в папках тоже были ярлыками.Проще говоря скопировать ярлыки папок и файлов внутри них.
Все файлы это PDFки. Подойдет что угодно,батник,скрипт,программа,вообще хоть что.Я гуглить замучился,никто кроме меня такой фигней не занимается...
Как можно сделать такой скрипт, что бы при его запуске,эта структура просто копировала ярлыки,и в то же время,если мне нужно будет через какое то время обновить ее,я просто запущу ее и она мне обновит ярлыки,это PDF архив и постоянно обновляется.
Win 10 pro
Структура такая:
-Архив(корневая директория)
---Главная папка (их более 500)
-----папка 1
--------папка 1
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
--------папка 2
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
----------файл.PDF
--------папка 3
--------папка 4
--------папка 5
--------папка 6
-----папка 2
--------папка 1
--------папка 2
--------папка 3
--------папка 4
-----папка 3
--------папка 1
--------папка 2
--------папка 3
--------папка 4
--------папка 5
-----папка 4
-----папка 5
-----папка 6
-----папка 7
-----папка 8
-----папка 9
-----папка 10
-----папка 11
-----папка 12
-----папка 13
-----папка 14
-----папка 15
и т.д

Chezorezka 05-04-2019 05:48 2866663

Все походу вымерли?...Хоть дайте знак что тут еще есть люди...

Iska 05-04-2019 08:21 2866671

Chezorezka, сделать можно будет. Но какова цель создания этих ярлыков? И почему именно ярлыков, а не, например, жёстких или символических ссылок?

megaloman 05-04-2019 18:52 2866760

Chezorezka,
Код:

@Echo Off
cls
        Set "BoxIn=Z:\Box_Arc"
        Set "Mask=*.pdf"
        Set "BoxOut=Z:\Lnk.pdf"

rem        If Not "%BoxOut:~3,1%"=="" 2>NUL Rd /S /Q "%BoxOut%"
        Call :Folder "%BoxIn%" "%Mask%" "%BoxOut%"
 
        FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%BoxIn%\" /S /B /A:D`) DO Call :Folder "%%i" "%Mask%"  "%BoxOut%"
        FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%BoxOut%" /B /A:D`) DO Call :Link "%BoxOut%\%%i.lnk" "%BoxOut%\%%i"
pause
Exit /B 0

:Folder
        If Not Exist "%~3%~pnx1" (
                If Exist "%~1\%~2" (
                        Md "%~3%~pnx1" 
                        Call :Files %1 %2 "%~3%~pnx1"
                )
        )
Exit /B 0

:Files
        FOR /F "usebackq delims=" %%j IN (`2^>nul Dir "%~1\%~2" /B /A:-D`) DO (
                If Not Exist "%~3\%%j.lnk" Call :Link "%~3\%%j.lnk" "%~1\%%j"
        )
Exit /B 0

:Link
        @mshta vbscript:Execute("Set x=CreateObject(""WScript.Shell"").CreateShortcut("%1"):x.TargetPath="%2":x.Save():Close()")
Exit /B 0

Пропишите свои пути. Если надо всё пересоздать заново, уберите rem в выделенной строке,
при этом крайне опасно указывать в качестве выходной папки корневую папку диска, например, D:, особенно Если надо всё пересоздать заново. С диска всё будет удалено.
Вы не определились, куда поместить ярлык на верхнюю папку. Я поместил его в папку, прописанную в BoxOut. Можете его скопировать куда угодно.

mwz 05-04-2019 19:00 2866761

Цитата:

Цитата Iska
И почему именно ярлыков, а не, например, жёстких или символических ссылок? »

Ответ был дан сразу:
Цитата:

Цитата Chezorezka
,начальство сказало... »

;)

megaloman 05-04-2019 22:30 2866778

Chezorezka,
Цитата:

Цитата Iska
какова цель создания этих ярлыков? »

А не проще ли прописать на папку с PDF доступ (атрибуты?) только для чтения. Безопасность будет обеспечена без выкрутасов с ярлыками. Начальству, конечно, виднее ...

mwz 05-04-2019 22:48 2866782

Цитата:

Цитата megaloman
А не проще ли прописать на папку с PDF доступ (атрибуты?) только для чтения. »

Мммм... Атрибуты папки вообще никак не влияют на возможность изменения и удаления файлов в папке: это не права безопасности...


Время: 07:03.

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