我在工作中有一项任务,我需要转到 Excel 表并从一列中逐一复制一堆资产 ID,然后将其输入到内部网站以获取资产的详细信息。
内部网站的网页链接布局如下:
http://inventory.company.com/assets/资产编号
资产 ID 位是资产之间唯一发生变化的部分,该地址的其余部分是相同的。
我想要做的是编写一个脚本,它将复制剪贴板的内容和资产 ID,然后将它们逐一输入到该链接中,并在执行此操作时在 Web 浏览器中打开选项卡。
说实话,我完全不知道从哪里开始。我知道 Power Shell 有 get-clipboard cmdlet,并且可以使用 start-process 获取网站,但除此之外,我一无所知。
答案1
这是一个非常简单的解决方案,它获取资产 ID 的剪贴板(每行一个,从 Excel 中复制)并为每个资产 ID 打开一个 Google Chrome 窗口。最重要的是,您无需安装其他软件即可使用它 - 公司政策可能会阻止这样做。
将以下内容保存为asset-launcher.bat
:
@echo off
echo Paste assets into this window, one per line. Close the window when done.
:start
set /p assetid=
"c:\Program Files\Google\Chrome\Application\chrome.exe" "http://inventory.company.com/assets/%assetid%"
goto start
使用方法:
- 双击启动批处理文件
- 复制要使用的资产 ID 列
- 点击DOS窗口激活,然后右键粘贴内容
- Chrome 将为每个 URL 启动标签页
- 完成后,单击 X 关闭 DOS 窗口。
答案2
好的,你实际上并不是在问一个问题,这是一个项目:
- 如何从 Powershell 读取 Excel
- 如何从 Excel 中选择数据
- 从特定列导出列表
- 将列表传递给 PowerShell 代码以使用默认浏览器执行 Web 目标。
转到 Xl 表并从一列中逐一复制一堆资产 ID,然后将其输入到内部网站以获取资产的详细信息。
内部网站的网页链接布局如下:
http.://inventory.company.com/assets/资产 ID
资产 ID 位是资产之间唯一发生变化的部分,该地址的其余部分是相同的。
那么您只需要一行代码,然后从 Excel 中提取“资产 ID”并循环打开 URL。
我想要做的是编写一个脚本,它将复制剪贴板的内容和资产 ID,然后将它们逐一输入到该链接中,并在执行此操作时在 Web 浏览器中打开选项卡。
没必要这么做。如果您知道列和行,则可以使用 PowerShell 与 XL COM 通信以实时从 Excel 获取数据,然后触发Invoke-Item
cmdlet 以一次执行每个数据。
因此,最后,只需使用 Powershell 读取 Excel 工作簿,并提取“资产 ID”列表,然后在代码中,使用提到的 cmdlet 将其作为数组传递给 URL。