// Папка для поиска: startFolder = "C:\\tmp\\lnk s"; // Строка для поиска: searchString = "D:\\games"; // Строка для замены: replaceString = "E:\\Apps\\Games"; var wsh = WScript.CreateObject("WScript.Shell"); var fso = new ActiveXObject("Scripting.FileSystemObject"); var dir = fso.GetFolder(startFolder); searchString = new RegExp(searchString.replace(/\\/g, "\\\\"), "gi"); FolderWalker(dir); function FolderWalker(dir) { var files = new Enumerator(dir.files); for (; !files.atEnd(); files.moveNext()) { if (files.item().Name.slice(-3) == "lnk") { LnkChangePaths(files.item(), searchString, replaceString); } } var subdir = new Enumerator(dir.SubFolders); for (; !subdir.atEnd(); subdir.moveNext()) { FolderWalker(subdir.item()) } } function LnkChangePaths(file, searchString, replaceString) { var lnk = wsh.CreateShortcut(file); lnk.TargetPath = lnk.TargetPath.replace(searchString, replaceString); lnk.Arguments = lnk.Arguments.replace(searchString, replaceString); lnk.WorkingDirectory = lnk.WorkingDirectory.replace(searchString, replaceString); lnk.IconLocation = lnk.IconLocation.replace(searchString, replaceString); lnk.Save(); } function msg(s){WScript.Echo(s);} |