Показать полную графическую версию : [решено] Как правильно указать путь сохранения?
У меня есть папка (123) , в папке находится два файла, один это qwerty.jpg, а второй это bat.файл.
Задача скопировать с помощью батника jpg файл, на рабочий стол пользователя. Папка (123) с файлами изначально будет скопирована в группе в школе и перенесена на компьютеры около 20 пользователям.
Я в батнике могу прописать например следующий код
xcopy qwerty.jpeg; C:\Users\User\Desktop /E /C /H /R /K /Y /Z - НО ПРОБЛЕМА В ТОМ ЧТО НЕ У ВСЕХ НА КОМПАХ ПРОПИСАН (USER) У НЕКОТОРЫХ ADMIN ИЛИ ЧТО ТО ДРУГОЕ.
Вопрос: как установить файл на рабочий стол, если у каждого компа разные пути до рабочего стола , что прописать в батнике?
%userprofile% »
Проблема в том, что каталог Desktop, вполне может быть перенесен из профайла пользователя, в другое место...
Не помню, как в cmd проще получить реальный путь... вроде бы, через реестр...
Добавлено:
Да, заглянул в шпаргалку и там вот так у меня записано:
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
это весь список, а десктоп:
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
- и распарсить строку через цикл for
А в powershell можно так:
[environment]::getfolderpath('Desktop')
Ну и вообще, специальные каталоги можно так проверить:
[enum]::getnames([environment+specialfolder])|%{[environment]::getfolderpath($_)}
Проблема в том, что каталог Desktop, вполне может быть перенесен из профайла пользователя, в другое место... »
Ну, так и задача по факту не для пакетных файлов (по поводу запроса из реестра — я всё ещё помню прелести при использовании разных версий reg.exe). Посему — да: WSH/Posh.
я всё ещё помню прелести при использовании разных версий reg.exe »
Это да, микрософт умеет удивлять, особенно там, где меньше всего ожидаешь :)
Проблема в том, что каталог Desktop, вполне может быть перенесен из профайла пользователя, в другое место... »
Нет тут проблемы. Если переносится грамотно (например, вкладка Расположение), допустим в C:\temp, то в USF путь поменяется на %systemdrive%\temp. https://i.imgur.com/TRddWp0.png
А если переносится каким-то немыслимо кривым методом, то чтение из USF (и в т.ч. пош) не поможет.
Vadikan, речь шла про то, что простая методика вида %UserProfile%\Desktop уже не сгодится (строго говоря, и она тоже не годится — для старых ОС).
Нет тут проблемы. Если переносится грамотно (например, вкладка Расположение), допустим в C:\temp, то в USF путь поменяется на %systemdrive%\temp. »
Почему нет проблемы?
Проблема в том, что путь поменяется к каталогу Desktop:
http://ipic.su/img/img7/tn/2020-4-1321-54-22.1586793336.png (http://ipic.su/img/img7/fs/2020-4-1321-54-22.1586793336.png)
При этом не изменяется путь к профайлу пользователя %UserProfile%. Поэтому после перемещения, по этому пути:
%userprofile%\Desktop »
рабочего стола мы уже не найдем:
http://ipic.su/img/img7/tn/2020-4-1321-59-3.1586793568.png (http://ipic.su/img/img7/fs/2020-4-1321-59-3.1586793568.png)
его там физически нет. Перенесен, как раз, через вкладку "Расположение"...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.