Вы должны войти, чтобы создавать сообщения и темы.

Как сделать на VBS так, чтоб при копировании файлов папки, создаваемая папка использовала иконку копируемой папки.

Добрый день! Подскажите пожалуйста,
Как сделать на VBS так, чтоб при копировании файлов папки, создаваемая папка использовала иконку копируемой папки.
Есть вот такое VBScript
СкопированоSet oShell = Wscript.CreateObject("WScript.Shell")
CommandLine = "cmd.exe /c xcopy ""%cd%\Portable Apps\*"" ""%cd%\Portable Apps 2\"" /E /Y /h"
oShell.Run CommandLine, 0,
0
Папка Portable Apps имеет иконку, внутри папки скрыто сохранена иконка вместе с desktop.ini
Скрипт все правильно копирует, но иконка не выставляется.
Ниже прикрепил что находится в обоих папка после копирования, и как выглядит desktop.ini

Добрый день.
А банально обновлять окно или оболочку пробовали

Добрый дань, да, даже ноутбук перезагружал.

Цель скрипта: 
Запуститься на портативном SSD, копировать определенную абсолютно папку в место где был запущен. Папка содержит портативные программы, иконку, которая сохранена в папке и скрыта вместе с desktop.ini. Иконка и desktop.ini копируются, но не применяются, не пойму почему... Портабл программы копируются, но далеко не все, думал может из-за фоновых процессов, нет, даже программы, которые не запускались, не копируются.
Хотел бы ПЕРЕНОСИТЬ папку с портабл программами, но некоторые из них висят в фоне, например FSCapture, думаю будет сложно (не хочется вручную вписывать процесс в скрипт и выключать). Может кто-то из гениев знает умеренный по сложности способ решить мою задачу)))

w8vy, Привет.
Я хоть и не разбираюсь в программировании, но вообще не понятно чё ты хочешь. У меня тоже давно сделаны иконки на все папки с программами, и всё это переносится/копируется куда угодно, и иконки остаются на папках.
В desktop.ini у меня прописано так:
[.ShellClassInfo]
IconResource=Icon.ico,0

Привет, я хочу понять почему, когда копируется папка с иконкой, иконка не выставляется, хотя все нормально прописано в desktop.ini, и хочу понять почему могут не копироваться все файлы из той или иной папки с помощью скрипта, который я приводил ниже)

Добрый🖐.
Иконка копируется 100%, у тебя какие-то проблемы с системой.
Про копирование, ну значит приложение занято, используется и т.д.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: w8vy от 24.01.2023, 22:54

Привет, я хочу понять почему, когда копируется папка с иконкой, иконка не выставляется, хотя все нормально прописано в desktop.ini, и хочу понять почему могут не копироваться все файлы из той или иной папки с помощью скрипта, который я приводил ниже)

А кстати вот что вспомнил, там вроде когда папку с таким файлом удаляешь или переносишь (desktop.ini), может вылезти окно с кнопками отмена пропустить продожить, что там находится сисемный файл.
Может из-за этого не работает скриптом.

Владимир, да, ты прав.
Ему из его скрипта, надо убрать ключ Скопировано/h, чтоб не копировать системные файлы, но он его включил в скрипт, чтоб перенести Скопированоdesktop.ini, думая что от этого иконка перенесется, но так не работает, а иконка и так свободна перемещается, а он копирует папку с portable в другую папку, так значка точно не будет =).
Ему надо переместить папку, а не скопировать, использовать команда Скопированоmove /y вместо Скопированоxcopy, но ему все равно надо копировать, а у новой папки, иконка старой не появиться.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Добрый день, проверил документацию по командам xcopy и move.
Команды работают!)
Перемещать папки, скрытые и системные файлы нельзя, значит придется копировать, чтоб выставилась иконка нужно копировать с параметром Скопировано/h, все копируется правильно, может и вправду с системой что-то не так... 
Может ли кто-то запустить скрипт, который я прикреплю или вы напишите сами, скопируете, не важно, а так же прикреплю папку с пустым .txt
и скрытой иконкой вместе с Скопированоdesktop.ini, да бы понять в чем проблема?
Ссылка на скачивание архива с папкой и скриптом UPLOADEE

Я там чуток не  правильно описал.
Чтоб иконка копировалась, нужно дописывать в скрипт на добавление иконки в desktop.ini, сначала в новой папке создать desktop.ini и внести в него данные и путь к иконке, только так, просто так командами не скопирует иконку.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Доброй ночи, Михаил, разобрался, вы правы, спасибо!)

Цитата: Mikhail от 26.01.2023, 01:25

Я там чуток не  правильно описал.
Чтоб иконка копировалась, нужно дописывать в скрипт на добавление иконки в desktop.ini, сначала в новой папке создать desktop.ini и внести в него данные и путь к иконке, только так, просто так командами не скопирует иконку.

Решил вопрос, иконка ставится только папке с определенными атрибутами, например с R - только для чтения.
Подробнее об атрибутах - cmd - attrib /?

attrib +r "path"

Правильно вписав в скрипт attrib, копируя скрытое содержимое (xcopy /h), можно получать значок! Так же можно давать папке атрибут S - системная, тоже все работает!)