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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   [решено] Функция "Расположение файла" в Windows XP (http://forum.oszone.net/showthread.php?t=207087)

vvc-49 18-05-2011 00:15 1678204

Функция "Расположение файла" в Windows XP
 
В Windows 7, когда кликаем правой кнопкой мыши по ярлыку, в контекстном меню можно увидеть пункт "Расположение файла", которая ведет к папке, содержащей исходный файл.
Как такое, реализовать в ХР?
Код:

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\File Location]
@="Расположение ф&айла"

[HKEY_CLASSES_ROOT\*\shell\File Location\command]
@="\"explorer.exe\" /select,\"%1\""

Не помогло.

K.A.V. 18-05-2011 00:47 1678217

Вложений: 1
Вот готовый REG-файл (распакуйте и запустите), появится пункт "Расположение файла"

vvc-49 18-05-2011 01:10 1678228

Цитата:

Цитата K.A.V.
Вот готовый REG-файл »

То же не помог, пункт "Расположение файла", появляется, но не корректен, т. е.
файл ХХХ, находится на диске J:\1, а ярлык(Ярлык для XXX.txt) на Рабочем Столе(E:\Рабочий Стол XP) следую пункта "Расположение файла", попадаю на E:\Рабочий Стол XP, на ярлык, но не на папку с файлом.

K.A.V. 18-05-2011 01:17 1678231

Ну а почему у меня работает? Может вы нажимаете на ярлык ярлыка? :)

vvc-49 18-05-2011 01:31 1678237

Цитата:

Цитата K.A.V.
Может вы нажимаете на ярлык ярлыка? »

Не понял, жму, как и в W7, на ярлык файла - Расположение файла и....
Если в свойствах ярлыка - жму кн. Найти объект, все четко.

Все, нашел, не работает, потому, что у меня удалены стрелки с ярлыков, поставил стрелки, все ОК, но не нравятся, стрелки...

ВладимирВ. 08-08-2011 02:38 1727574

Спасибо, только не на всех ярлыках работает. Например на ярлыках Сетевые подключения, не работает.

Iska 08-08-2011 04:31 1727590

ВладимирВ., там ярлыки организованы иначе, нежели «обычные» ярлыки на объекты файловой системы.

VetalGold 18-01-2012 17:27 1838989

Расположение файла появилось не только на ярлыках, а на всех файлах.
Как сделать чтобы только на ярлыках?

Petya V4sechkin 18-01-2012 17:58 1839011

Цитата:

Цитата VetalGold
Как сделать чтобы только на ярлыках?

Так

VetalGold 19-01-2012 05:04 1839298

Petya V4sechkin Спасибо тебе большое!

BolgarchukR 27-12-2015 23:05 2588896

как я понял надо для данного скрипа Visual Basic ставить. А какую версию? или без разницы? Я в этом не сильно разбираюсь не охота загаживать систему. У меня и так все работает без всяких бейсиков яв питонов, ну правда нет фтенворк поставил а директ х даже не ставил. Прийдется ради одной минюшки ставить этот бейсик да? ((
Я вот сделал https://yadi.sk/d/uh7l_j_lmXcp9 пункт добавился но пишет "не удалось найти файл сценария" хотя путь вроде правильный C:\vbs_BolgarchukR\context_menu
Может кто кинет рабочий скрипт?
п.с. поменял путь кинул туда же в систем 32 заработало. Но все равно не понятно что в пути нельзя указывать нижнее подчеркивание? Будет ли работать в др. папках? Не охота кидать в систем 32 там и так куча всего...

Iska 28-12-2015 00:40 2588928

Цитата:

Цитата BolgarchukR
как я понял надо для данного скрипа Visual Basic ставить. »

Если речь про этот скрипт — нет, ничего «ставить» не надо, всё уже есть в комплекте, если только Вы не работаете на Windows NT 4.0/Windows 98 и ниже.

Цитата:

Цитата BolgarchukR
Я вот сделал »

Выложите код непосредственно на форум, обрамив его тэгом «code».

Цитата:

Цитата BolgarchukR
пишет "не удалось найти файл сценария" »

Приложите скриншот окна (Alt-PrintScreen) или текст окна сообщения (Ctr-C).

BolgarchukR 30-12-2015 23:16 2589982

Короче надоело, уже и не знаю что и думать впрочем ну его (((
Вот это рабочий рег файл
REGEDIT4

[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget]
@="&Найти объект"
[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget\command]
@="C:\\WINDOWS\\System32\\WScript.exe \"C:\\vbsBolgarchukR\\FindTarget.js\" \"%1\""

А вот этот почему то не рабочий
REGEDIT4

[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget]
@="&Найти объект"
[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget\command]
@="C:\\WINDOWS\\System32\\WScript.exe \"С:\\vbsBolgarchukR\\FindTarget.js\" \"%1\""
Хотя они как мне кажется идентичны. Может имеет значения с какой папки его запускать ... Или даже не знаю...

ну и FindTarget.js
// FindTarget.js
// аргумент - путь к lnk-ярлыку
try {
OpenParentFolderAndSelectItem(
GetFolderItemByFilePath(WScript.Arguments.Item(0)).GetLink.Target,
1|4|8|16
);
} catch (Err) {};

function GetFolderItemByFilePath(Path) {
var FSO=new ActiveXObject("Scripting.FileSystemObject");
return (
new ActiveXObject("Shell.Application")).
NameSpace(FSO.GetParentFolderName(Path)).ParseName(FSO.GetFileName(Path));
}

function OpenParentFolderAndSelectItem(FolderItem, Flags) {
var
Shell=FolderItem.Application,
ShellWindows=Shell.Windows(),
ParentFolder=FolderItem.Parent,
Err;
Shell.Open(ParentFolder);
for (var t=50; --t>=0; WScript.Sleep(50))
try {
var FolderView=ShellWindows.Item().Document;
if (FoldersAreEqual(ParentFolder, FolderView.Folder)) {
FolderView.SelectItem(FolderItem, Flags);
return;
}
} catch (Err) {}
}

function FoldersAreEqual(Folder1, Folder2) {
while (Folder1!=Folder2) {
if (Folder1==null || Folder2==null || Folder1.Self.Path!=Folder2.Self.Path)
return false;
Folder1=Folder1.ParentFolder; Folder2=Folder2.ParentFolder;
}
return true;
}

по пути C:\vbsBolgarchukR
хотя я думал в этой папке сделать еще папку context_menu но все другое не работает. Только первый рег рабочий именно с тем путем остальные как не крути как не меняй не пашут.
Выдает

2015-12-30 22_06_34-ProbnaXpFren3 - VMware Workstation.png
[IMG]]https://img-fotki.yandex.ru/get/9170/10425752.3/0_ed1c2_598303ce_orig.png[/IMG]

Iska 30-12-2015 23:38 2589985

Цитата:

Цитата BolgarchukR
А вот этот почему то не рабочий
REGEDIT4
[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget]
@="&Найти объект"
[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget\command]
@="C:\\WINDOWS\\System32\\WScript.exe \"С:\\vbsBolgarchukR\\FindTarget.js\" \"%1\""
Хотя они как мне кажется идентичны. Может имеет значения с какой папки его запускать ... »

Угу. Имеет смысл запускать из существующей папки. У Вас же во втором случае в «\"С:\\vbsBolgarchukR…» вместо латинской «C» русская «С». Потому и не удаётся найти файл сценария. Меняйте и пробуйте дальше.


Время: 17:53.

Время: 17:53.
© OSzone.net 2001-