windows - 如何通过单击从 Windows 中的 Go 可执行文件打开特定文件
问题描述
我有一个 Go 程序,我从中构建了一个 Windows 操作系统可执行文件。这个程序只接受命令行参数并打印它们。
我想要做的是:在 Windows 中,我想点击一个特定的文件(比如说一个文本文件),我希望我的 Go 可执行文件打印文件的名称。我不确定 Windows 如何将文件名传递给可执行文件。
到目前为止,我已经右键单击我的文本文件 > 打开方式 > 选择另一个程序 > 在我的电脑中查找另一个程序 > 选择我的 Go 可执行文件。但我不确定接下来的步骤。
我希望我的 Go 可执行文件找到文本文件的位置,然后对其进行操作。
解决方案
Windows将文件名传递给参数中的可执行文件,因此在您的情况下,如果您使用打开名为 process.txt 的文件
process.txt > Open with > Choose another program > Look for another program in my pc > Selected my Go executable
我假设您的 Golang 代码将遵循以下内容。
package main
import (
"log"
"os"
"time"
)
func main() {
log.Println(os.Args[1:])
time.Sleep(10 * time.Second)
}
输出:
[.../.../process.txt]
这个示例程序将打开一个命令提示符并在控制台上显示参数,其中将包含通过Open With
. 现在您将拥有可以在程序中处理的文件路径。
推荐阅读
- python - 如何有条件地对熊猫数据框进行分区
- python - 在我的 PC 上使用在 google colab 上训练的 tensorflow 模型
- javascript - JSHint 显示错误:“在引用外部范围变量的循环中声明的函数可能会导致语义混淆。”
- reactjs - 通过 redux-toolkit 在 React 中处理具有依赖关系的 action-creatos
- python - ValueError:字段“maca”需要一个数字,但得到了“”。Django 错误
- python - 从字典中提取项目并添加到新列表中。(Python)
- html - 如何定位 SVG?
- spring-boot - 通过 docker-compose 使用 JMS (ActiveMQ) 的 Spring Boot 应用程序:java.net.BindException:无法分配请求的地址(绑定失败)
- java - 如何创建一个匹配任何具有二维但不匹配任何东西的正则表达式?
- python - 如何通过按下另一个文件中的 tkinter 按钮来更改文件中的全局变量?