Я делаю некоторые сценарии, которые генерируют файлы .url в моем каталоге C:\temp. Эти файлы только 2 строки. Например, в качестве теста я создал файл C:\temp\test_shortcut.url:
(echo [InternetShortcut] && echo URL=http://www.yahoo.com) > c:\temp\test_shortcut.url
который сгенерирует файл, содержащий (проверяется с помощью блокнота):
[InternetShortcut]
URL=http://www.yahoo.com
Если дважды щелкнуть ссылку, откроется ожидаемая страница Yahoo в Internet Explorer.
Если я тогда переопределю .url файл чем-то вроде:
(echo [InternetShortcut] && echo URL=http://www.google.com) > c:\temp\test_shortcut.url
Опять же, новое содержимое можно проверить с помощью блокнота. Если я открою эту новую ссылку (то же имя файла), то я все равно окажусь в Yahoo. Если переименовать файл .url, то получаю гугл.
Если я редактирую URL непрограммически через лист свойств Explorer, я могу обновить URL без переименования файла, но формат самого содержимого файла также обновляется до другого формата .url.
Каков механизм кэширования целевого URL для файлов .url, и как его очистить или обновить?
Некоторая дополнительная информация, которую, я думаю, сужает до Explorer:
- если файл .url открывается с помощью
cmd /C c:\temp\test_shortcut.url
, используется содержимое файла .url если файл .url открывается через
iexplore.exe c:\temp\test_shortcut.url
используется содержимое файла .urlесли .url открывается с помощью start-> run-> C:\temp\test_shortcut.url, используется кэшированная версия
- если файл .url открывается двойным щелчком в проводнике, используется кэшированная версия