Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24

Переименование имени ярлыка (shortcut) программно, посредством bat файла

27.08.2022, 13:16. Показов 2892. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я пробывл использовать команду ren, но она работает только для файлов и папок.
Подскажите, пожалуйста, как программно, например, имя ярлыка, который появляется на рабочем столе после установки
какого-либо приложения, переименовать в имя нужное мне.
Если это нельзя сделать напрямую, тогда,возможно, есть утилиты, которые помогут это сделать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.08.2022, 13:16
Ответы с готовыми решениями:

Переименование или создание имени папки из части имени первого и последнего файла в которой они лежат
Добрый день! Помогите дописать скрипт который собирает файлы в папки с указанным размером в Мб. На просторах интернета нашел вот этот...

Запуск файла в директории с .bat, когда .bat запущен от имени администратора
Здравствуйте. Имею бат, он должен запускать файл "<тут директория батника>\n1.bat". Но если даже вписывать cd "%~dp0" и...

Разница в работе bat-файла при его запуске от имени простого пользователя и от имени администратора
Здравствуйте. Пытаюсь создать .bat который: создаёт папку %ProgramFiles%\MyProg и копирует туда файлы создаёт папку...

23
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 13:35
Цитата Сообщение от fils Посмотреть сообщение
но она работает только для файлов и папок.
А ярлык чем не файл?
Windows Batch file
1
ren "%USERPROFILE%\Desktop\Test.lnk" Test_1.lnk
Всё работает.
0
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 14:01  [ТС]
Когда я устанавливал программу Restoro (x64) на рабочем столе появился ярлык "Restoro".
Я пробывал его переименовать при помощи: ren "%USERPROFILE%\Desktop\Restoro" Test
но у меня ничего не получилось.
Что я делаю не так?
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 15:35
Забываете про расширение, очевидно. То, что они не отображаются на Раб. столе, не значит, что их нет.
Откройте указанную папку профиля в каком-нибудь файлменеджере (не в проводнике) и увидите.
.lnk на столе и в папках проводника можно увидеть после выполнения след. кода:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off&setlocal enabledelayedexpansion
reg query "HKU\S-1-5-19" >nul 2>&1
if errorlevel 1 (
  set "bat=%~0"
  start "" mshta "javascript:q=String.fromCharCode(34);new ActiveXObject('Shell.Application').ShellExecute('%ComSpec:\=\\%','/c '+q+'!bat:\=\\!'+q,'','runas',0);close()"
) else (
  reg delete HKCR\lnkfile /v NeverShowExt /f
  taskkill /im explorer.exe /f
  call:check
  start "" explorer.exe
)
exit
 
:check
>nul qprocess explorer.exe&&call:check
1
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 15:44  [ТС]
Получил информацию о ярлыке: [--a------ Restoro.lnk]
где: a - Атрибут "Архивный".
Попробывал так:
ren "%USERPROFILE%\Desktop\Restoro.lnk" Test.lnk
Тоже ничего не получается.
Возможно, проблема в том что он "Архивный".
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 15:50
Пробел после Restoro явно лишний.
0
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 16:02  [ТС]
Я проверил, в самом батнике нет пробела между Restoro и .lnk.
Попробывал так: ren "%USERPROFILE%\Desktop\Restoro.lnk" Test.lnk
Тоже ничего не получается.

Я понял когда появляется пробел, после того когда я кликаю на
кнопку "Отправить быстрый ответ".
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 16:31
Выполните по очереди из cmd:
Windows Batch file
1
2
dir/b "%Public%\Desktop\Restoro.lnk"
dir/b "%UserProfile%\Desktop\Restoro.lnk"
Что покажет?
0
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 16:36  [ТС]
Он там есть и с .lnk.
А дальше то, что?
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 16:38
Где там?
0
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 16:44  [ТС]
Вот что показал:
C:\Users\fils>dir/b "%Public%\Desktop\Restoro.lnk"
Restoro.lnk

C:\Users\fils>dir/b "%UserProfile%\Desktop\Restoro.lnk"
File Not Found

Опять появился пробел в Restoro.lnk которого на самом деле нет.
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 16:49
Лучший ответ Сообщение было отмечено fils как решение

Решение

Ну вот из этого и делается элементарный вывод — замена USERPROFILE на Public:
Windows Batch file
1
ren %Public%\Desktop\Restoro.lnk Test.lnk
1
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 17:11  [ТС]
Всё работает!!!
Спасибо огромное за проведённый вами анализ моей проблемы,
в результате которого она была решена.
Раньше я не знал что рабочий стол как-то связан с Public.
Для меня "Рабочий стол" всегда был - %UserProfile%\Desktop.
Ещё раз большое спасибо!
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 20:26
Пожал'ста. На будущее можно взять и универсальный вариант:
Windows Batch file
1
mshta "javascript:close(new ActiveXObject('Shell.Application').NameSpace(0).ParseName('Restoro.lnk').Name='Test.lnk')"
1
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
27.08.2022, 21:39  [ТС]
Это тоже работает.
Спасибо!

Может бы вы знаете, как к имени ярлыка сайта дописать расширение .url?
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
27.08.2022, 23:01
Цитата Сообщение от fils Посмотреть сообщение
дописать
В каком смысле?
0
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
31.08.2022, 10:21  [ТС]
Сейчас на ярлыке сайта так: Кукушка кукует
Хочу чтобы было так: Кукушка кукует.url
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
31.08.2022, 13:30
Тогда не дописать, а показывать. Для этого после вызова shell:::{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF} снимается сей флаг.
0
0 / 0 / 0
Регистрация: 08.08.2022
Сообщений: 24
31.08.2022, 15:09  [ТС]
Это то что мне ответила консоль:
C:\WINDOWS\system32>shell:::{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}
The filename, directory name, or volume label syntax is incorrect.

Т.е. ничего не изменилось.
0
6994 / 2880 / 1108
Регистрация: 06.06.2017
Сообщений: 9,775
31.08.2022, 15:39
Надо не из консоли. Win+R (Выполнить).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2022, 15:39
Помогаю со студенческими работами здесь

Как открыть расположение файла ярлыка на удаленном компьютере bat файлом
Передо мной стоит задача написать bat файл, который бы переустанавливал windows desktop приложение. Для этого нужно написать bat файл...

Переименование файла, указав его порядковый номер в имени файла
Привет, ребят! Программирую на VB.NET, новичок, так что вопрос может уже был, может вопрос глупый, но всё же. Вот смотрите. У меня есть...

Замена иконки от ярлыка bat файла, каждый раз при его запуске
Добрый день! Подскажите пожалуйста, возможно ли сделать следующее: Есть необходиомость периодически отключать и включать системное...

Переименование имени файла в базе
Задача следующая. Есть интернет магазин, нужно переименовать все файлы картинок у товаров соответственно url этого товара. Т.е. сейчас...

Отправка файла на FTP-сервер посредством bat-файла, запускаемого через Планировщик задач
Здравствуйте, подскажите пожалуйста Как правильно настроить передачу фала (c:\1\Товары.csv) на FTP посредством bat и как его потом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru