在平常开发测试过程中,有时候在遇到文件读写时,比如验证代码读取文件的功能,或者读取一些日志文件,就需要具体的文件路径,但是这个文件又不一定和当前代码在同一个项目下,这就导致要获取文件路径时,要么手打,要么手动至少复制两次。一次文件夹路径,一次文件名。 所以想要是右击文件的时候,可以一件复制它的路径, 就可以省事很多了。

打开注册表,然后找到以下这个路径

image.png

右击shell,然后选择新建->项,然后输入一个名字,比如我这里填的复制文件路径 image.png

右击刚才创建的项 复制文件路径,然后还是选择新建->项,这次创建一个名字为command的项。 image.png

然后点击这个command之后,双击右边的默认key,然后修改它的数据 image.png

下面这个copyFilePath.exe就是一个可以往系统剪切板写入内容的程序,而 %1 是一个参数,这个参数的意思你右击时候的文件全路径。 copyFilePath这个程序会把这个参数的值写到剪切板中。这样就实现了通过右击复制文件路径的功能了。

C:\bin\copyFilePath.exe "%1"

image.png

copyFilePath是用go编写的,代码如下,就短短二十行左右

package main
​
import (
    "fmt"
    "os"
    
    "github.com/atotto/clipboard"
)
​
func main() {
    args := os.Args
    if len(args) > 1 {
        fmt.Println(args[1])
        err := clipboard.WriteAll(args[1])
        if err != nil {
            return
        }
    }
}
​