是可以从Powershell只读模式启动Excel

我使用Invoke-Item "some-file.xlsx"来启动Excel并打开一个文件。 现在我想以只读模式打开这个文件。 这可能从PowerShell?

为了清除,我不打算打开Excel工作表,并从它读取数据到PowerShell脚本,该脚本旨在帮助用户find一个文件,并打开它。

Invoke-item只允许文件的默认操作。
要以只读方式打开文件,可以:

  • 在文件上设置只读属性,启动文件,取消只读属性,

     attrib +r "some-file.xlsx" Invoke-Item "some-file.xlsx" attrib -r "some-file.xlsx" 

要么

  • 直接调用excel,并将/ r作为命令文件

     $xl = (Get-ItemProperty -Path HKCR:\Applications\EXCEL.EXE\Shell\OpenAsReadOnly\command).'(default)' $fle = '"some-file.xlsx"' & $xl $fle 

检查从Powershell执行存储在variables中的命令以获取适用于您的语法

只读被定义为文件上的一个属性。 所以我的build议是将文件设置为只读,然后用Invoke-item打开正常。 或者,您可以使用代码来设置文件属性。 以下应该做的伎俩:

 set-itemproperty "some-file.xlsx" -Name Attributes -Value "ReadOnly" 

参考:

http://blogs.technet.com/b/heyscriptingguy/archive/2011/01/27/use-powershell-to-toggle-the-archive-bit-on-files.aspx

将文件设置为只读的步骤

  1. 确保该文件未在Excel中打开。
  2. 在Windows开始菜单上,指向程序,指向附件,然后单击Windows资源pipe理器。
  3. 在浏览窗口中,打开包含该文件的驱动器或文件夹。
  4. 点击文件名称。
  5. 在文件菜单上,单击属性。
  6. 点击常规标签。
  7. select只读checkbox。

参考:

http://office.microsoft.com/en-gb/excel-help/save-a-workbook-as-read-only-or-remove-read-only-status-HP005201902.aspx