Коллеги, прошу совета
Задача: по правому щелчку на папке проделывать с ней манипуляции: переименовывать и/или перемещать
ОС: WinXP SP3
Создал контекстное меню в реестре. Строка вызова: wscript.exe "C:\temp\myscript.vbs" "%1"
(Пробовал %0-%99 и вообще пустое место в кавычках - "", работает всё равно, странно, да?)
Написал скриптик.
Нашёл доступные методы манипулирования папками:
1. Scripting.FileSystemObject
2. WMI
3. Shell.Application.NameSpace
Выяснилось, что при попытке перемещения кликнутой папки:
1. Не работает. (Выдаёт ошибку о неправильности аргументов, емнип)
2. Не работает. (Выдаёт ошибку 15 - Sharing Violation)
3. Работает. Очень неудобно, что визуально содержимое директорий при этом методе не обновляется. Требуется ручной refresh.
Выяснилось, что при попытке переименования кликнутой папки:
1. То же
2. То же
3. Нет такого метода
Причина проблем открытый системой File Handle для щёлкнутого объекта.
Воткнул костыль - сделал функцию KillHandle с помощью консольной handle.exe
А можно без костылей?
Как вообще делается вызов правой кнопкой по науке? (Я - новичок)
Весь уже изгуглился, но ничего так и не нашел
Правда, к vbscript не прикрутить закрытие file handle?
Прошу помощи или диагноза
Задача: по правому щелчку на папке проделывать с ней манипуляции: переименовывать и/или перемещать
ОС: WinXP SP3
Создал контекстное меню в реестре. Строка вызова: wscript.exe "C:\temp\myscript.vbs" "%1"
(Пробовал %0-%99 и вообще пустое место в кавычках - "", работает всё равно, странно, да?)
Написал скриптик.
Нашёл доступные методы манипулирования папками:
1. Scripting.FileSystemObject
2. WMI
3. Shell.Application.NameSpace
Выяснилось, что при попытке перемещения кликнутой папки:
1. Не работает. (Выдаёт ошибку о неправильности аргументов, емнип)
2. Не работает. (Выдаёт ошибку 15 - Sharing Violation)
3. Работает. Очень неудобно, что визуально содержимое директорий при этом методе не обновляется. Требуется ручной refresh.
Выяснилось, что при попытке переименования кликнутой папки:
1. То же
2. То же
3. Нет такого метода
Причина проблем открытый системой File Handle для щёлкнутого объекта.
Воткнул костыль - сделал функцию KillHandle с помощью консольной handle.exe
А можно без костылей?
Как вообще делается вызов правой кнопкой по науке? (Я - новичок)
Весь уже изгуглился, но ничего так и не нашел
Правда, к vbscript не прикрутить закрытие file handle?
Прошу помощи или диагноза