Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   [решено] Пакетное переименование ярлыков (http://forum.oszone.net/showthread.php?t=174464)

SimSim 29-04-2010 22:48 1403707

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

Erekle 30-04-2010 03:37 1403816

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

Drongo 30-04-2010 10:33 1403919

Цитата:

Цитата 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 30-04-2010 10:53 1403932

Drongo, Всё верно. В свойствай каждого ярлыка указано G:\Games\Игра\Игра.ехе, а надо D:\Games\Игра\Игра.ехе
Вручную переименовывать, сами понимаете, это убить кучу времени. Сменить букву диска тоже не выход, ибо там куча установленного ПО.

Drongo 30-04-2010 12:00 1403972

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

SimSim 30-04-2010 13:37 1404046

Цитата:

Цитата Drongo
Windows должна сама понаходить пусковые файлы и тогда путь в ярлыках изменятся на правильный. »

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

Erekle 30-04-2010 14:15 1404067

Цитата:

Цитата SimSim
по времени это намного дольше чем переименовывать вручную »

Ну я говорил создать новые, но все вместе. Всего-то 4 операции (перенос, поиск всех .exe в папке Games, выделить всё, создать ярлыки).
Однако оказалось, что с окна поиска ярлыки создаются только на рабочем столе. 200 явно не уместятся. :)
А @Text Replacer хорош.

SimSim 30-04-2010 16:48 1404173

Цитата:

Цитата Erekle
перенос, поиск всех .exe в папке Games, выделить всё »

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

NikolayHAOS 24-10-2012 10:33 2011177

Всем доброго времени суток!
Сам столкнулся с такой проблемой.
@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 24-10-2012 10:44 2011182

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


Время: 11:16.

Время: 11:16.
© OSzone.net 2001-