1

Я делаю некоторые сценарии, которые генерируют файлы .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 открывается двойным щелчком в проводнике, используется кэшированная версия

0