[решено] Пакетное переименование ярлыков

Ответить
Аватара пользователя
SimSim

[решено] Пакетное переименование ярлыков

Сообщение SimSim »

Друзья, прошу помощи в решении следующего вопроса.

На рабочем столе есть папка, в которой собраны ярлыки на более чем две сотни игрушек. Игрушки не требуют установки. Возникла потребность перенести папку с этими игрушками на другой диск. Есть-ли возможность пакетного переименования этих ярлыков, в свойствах которых можнои зменить букву диска?
Аватара пользователя
Erekle

Re: [решено] Пакетное переименование ярлыков

Сообщение Erekle »

Точнее, пакетное изменение свойств?

Ммм... Что-то про VB и cmd в гугле говорят, но слишком сложно для моего понимания. Изображение

Можно перенести, поискать экзешники в этой папке и всех разом сбросить на стол, или создать новые ярлыки где-нибудь ещё? В конце .exe... но с этим просто.

(или изменить букву диска у диска Изображение )
Аватара пользователя
Drongo

Re: [решено] Пакетное переименование ярлыков

Сообщение Drongo »

Цитата Erekle:



или изменить букву диска у диска
[решено] Пакетное переименование ярлыков




Да, нужно каким-то образом пакетно изменить букву диска в свойствах ярлыка. К примеру ярлыки указывают


Цитата:



C:\Games\games1.exe

C:\Games A\games2.exe

...

C:\Games ABC\games200.exe



И вместо диска C: у всех нужно выставить ту букву диска, на котором будут установлены игры, например, на диск D:


Цитата:



D:\Games\games1.exe

D:\Games A\games2.exe

...

D:\Games ABC\games200.exe
Аватара пользователя
SimSim

Re: [решено] Пакетное переименование ярлыков

Сообщение SimSim »

Drongo, Всё верно. В свойствай каждого ярлыка указано G:\Games\Игра\Игра.ехе, а надо D:\Games\Игра\Игра.ехе

Вручную переименовывать, сами понимаете, это убить кучу времени. Сменить букву диска тоже не выход, ибо там куча установленного ПО.
Аватара пользователя
Drongo

Re: [решено] Пакетное переименование ярлыков

Сообщение Drongo »

SimSim, А ты пробовал как я говорил, перенести эту папку на тот диск, где теперь установлены игры и запускать ярлыки, ведь Windows должна сама понаходить пусковые файлы и тогда путь в ярлыках изменятся на правильный. Пробовал?
Аватара пользователя
SimSim

Re: [решено] Пакетное переименование ярлыков

Сообщение SimSim »

Цитата Drongo:



Windows должна сама понаходить пусковые файлы и тогда путь в ярлыках изменятся на правильный.
[решено] Пакетное переименование ярлыков




Должна. Изображение И делает. Но к сожалению, по времени это намного дольше чем переименовывать вручную.

Но выход найден. Программа
@Text Replacer
решила все проблемы в один момент. Выбрал папку с ярлыками и задал условие заменить G:\ на D:\

Всем спасибо.
Аватара пользователя
Erekle

Re: [решено] Пакетное переименование ярлыков

Сообщение Erekle »

Цитата SimSim:



по времени это намного дольше чем переименовывать вручную
[решено] Пакетное переименование ярлыков




Ну я говорил создать новые, но все вместе. Всего-то 4 операции (перенос, поиск всех .exe в папке Games, выделить всё, создать ярлыки).

Однако оказалось, что с окна поиска ярлыки создаются только на рабочем столе. 200 явно не уместятся. Изображение

А @Text Replacer хорош.
Аватара пользователя
SimSim

Re: [решено] Пакетное переименование ярлыков

Сообщение SimSim »

Цитата Erekle:



перенос, поиск всех .exe в папке Games, выделить всё
[решено] Пакетное переименование ярлыков




Erekle, Будут созданы ярлыки типа "Ярлык для run.exe" и смотреться это будет припаршиво, если учесть, что сейчас под каждым ярлыком "красуется" полное название игры на русском языке. Изображение
Аватара пользователя
NikolayHAOS

Re: [решено] Пакетное переименование ярлыков

Сообщение NikolayHAOS »

Всем доброго времени суток!

Сам столкнулся с такой проблемой.

@Text Replacer не помог.

Помог пользователь с ру-боарда Alex_Piggy

Есть отличный способ.

Изменения пути ярлыков.

создаем бантик

следующего содержания:

___________________________________________________________________



Код:

Код: Выделить всё

@set @script=0 /*
set "From=C:\Program Files"
set "To=D:\Games"
call :choose_folder indir
pushd "%indir%"
for %%i in (*.lnk) do cscript /e:jscript "%~f0" "%%~fi" "%From%" "%To%"
exit
:choose_folder
for /f "usebackq delims=" %%a in (`@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" 1^|more`) do set "%1=%%a"
exit /b
*/
var LinkName=WScript.Arguments.Item(0);
var RplsFrom=WScript.Arguments.Item(1);
var RplaceTo=WScript.Arguments.Item(2);
var WshShell = WScript.CreateObject("WScript.Shell");
var oShellLink = WshShell.CreateShortcut(LinkName);
oShellLink.TargetPath=oShellLink.TargetPath.replace(RplsFrom,RplaceTo);
oShellLink.Save();

______________________________________________________________________



set "From=C:\Program Files" - строка, которую нужно заменить.

set "To=D:\Games" - строка, на которую нужно заменить.

("C:\Program Files" заменит на "D:\Games" для всех ярлыков в папке, выбранной при запуске.)



файл bat должен находиться в папке с ярлыками.
Аватара пользователя
topotun32

Re: [решено] Пакетное переименование ярлыков

Сообщение topotun32 »

Способ интересный. Жаль только, что Ваш пост немного не ко времени.
Ответить

Вернуться в «Хочу все знать»