dasgespenst
03-07-2014, 11:42
На компьютерах рабочий стол, мои документы и загрузки перемещены на раздел d:\<randomname>\
randomname это старое название пользователей, которых уже давно не существует.
%userprofile% естественно показывает только c:\users\kolya\ без desktop каталогов.
Есть cmd-jscript скрипт который заходит в каталог и меняет пути ярлыков. Вот этому скрипту как-то нужно попасть на рабочий стол, но при этом переменной рабочего стола я не нашел.
@set @script=0 /*
set "From=\\oldserver\"
set "To=\\newserver\"
cd %userprofile%\desktop
for %%i in (*.lnk) do cscript /e:jscript "%~f0" "%%~fi" "%From%" "%To%"
exit
*/
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();
randomname это старое название пользователей, которых уже давно не существует.
%userprofile% естественно показывает только c:\users\kolya\ без desktop каталогов.
Есть cmd-jscript скрипт который заходит в каталог и меняет пути ярлыков. Вот этому скрипту как-то нужно попасть на рабочий стол, но при этом переменной рабочего стола я не нашел.
@set @script=0 /*
set "From=\\oldserver\"
set "To=\\newserver\"
cd %userprofile%\desktop
for %%i in (*.lnk) do cscript /e:jscript "%~f0" "%%~fi" "%From%" "%To%"
exit
*/
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();