6

Есть ли способ, как правило, создать ярлык Windows для файла и дать команду Windows передать определенные ключи приложению перед передачей имени файла?

Например: у меня есть файл Excel, abc.xlsx. Если я хочу создать ярлык для открытия этого файла только для чтения, я бы изменил цель на "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /r abc.xlsx , но это не удалось , когда другой человек на моя сеть открывает ярлык, и их EXCEL.EXE не находится в той же папке.

Конечно, есть способ сказать Windows, чтобы передать ключ /r без указания пути / имени файла приложения, которое должно открыть файл?

4 ответа4

5

Для этого используйте командный файл (cmd/bat). Не создавайте ярлык для Excel, а скорее создайте ярлык для вашего командного файла.  Этот файл будет иметь необходимую логику.  Посмотрите на пример изображения, который представляет собой командную строку VS.NET, в которой используется тот же bat-файл с параметрами.

  1. Найдите правильный путь для Excel, если его нет в пути *
  2. использовать /r
  3. используйте правильное имя файла Excel.

* Поскольку расположение Excel может различаться в зависимости от компьютера, может быть полезно использовать start excel "c:\myfile.xls" /r в вашем командном файле.  start excel должен инициировать Excel независимо от его местоположения.

Пример командной строки VS.NET

3

Ваш ярлык должен содержать полный путь к исполняемому файлу и целевому файлу, например:

"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /r "C:\Users\Administrator\Desktop\abc.xlsx"

Обратите внимание, что пути EXE и XLS указаны в кавычках, чтобы избежать проблем с пробелами в имени.

1

Цель - поле для изменения. Но поскольку ярлык указывает на путь, два ярлыка на один и тот же файл могут содержать разные цели в зависимости от того, как отображаются сетевые диски. В общем, вы не можете скопировать ярлык по сети и надеетесь, что он будет работать, поскольку цель может быть недействительной.

0

Вы можете определить переменную среды для каталога Office и использовать эту переменную в своем ярлыке. Конечно, эта переменная должна быть определена на каждом компьютере вашей сети, но это может быть сделано с помощью сценария и может быть использовано для других целей в будущем.

Если вы определите переменную среды с именем Office, вы можете создать ярлык следующим образом:

cmd /c ""%Office%\EXCEL.EXE" /r "abc.xlsx""

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .