gpt4 book ai didi

windows - 如何使用 Powershell 在辅助应用程序中使用函数打开包含空格的文件?

转载 作者:行者123 更新时间:2023-12-02 23:33:02 27 4
gpt4 key购买 nike

Function npp {
Param([String]$filepath)
start 'D:\Program Files (x86)\Notepad++\notepad++.exe' &($filepath)
}

Function nteract {
$file = $args[0]
start 'D:\Program Files\nteract\nteract.exe' &($file)
}
我编写了两个初学者函数,目的是在 bash 和 fish 中重新创建更简单的别名。我尝试了两种捕获文件参数的方法,如上所示。它们都不起作用。相反,我收到以下内容。
假设我正在交互中打开文件 '.\01 Getting started.ipynb'。
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
-- ---- ------------- ----- ----------- -------- -------
7 Job7 BackgroundJob Running True localhost Microsoft.PowerShell.Man…
.\01. Getting started.ipynb
这会显示在我的控制台中,并使用空笔记本打开一个默认的 nteract 实例。 Notepad++ 和其他文件也会发生同样的情况。
在此处插入提示,与 Linux shell 相比,让此功能工作是多么令人困惑。我究竟做错了什么?
-==-
编辑:这个问题已经得到了充分的回答,但是当我第一次注释掉我在我的个人资料中写的函数时,我确实注意到了奇怪的行为。
PS D:\julitory\JuliaBoxTutorials\introductory-tutorials\intro-to-julia> . $profile
PS D:\julitory\JuliaBoxTutorials\introductory-tutorials\intro-to-julia> nteract '.\02. Strings.ipynb'

Id Name PSJobTypeName State HasMoreData Location
-- ---- ------------- ----- ----------- --------
5 Job5 BackgroundJob Running True localhost
.\02. Strings.ipynb
出于某种原因,这是我第一次将它们注释掉时发生的。所以我取消了它们的注释,然后它又开始工作了……然后,下次我评论它们时,它们继续工作。我想我为此太累了,但谢谢大家。

最佳答案

PowerShell 有 Set-Alias 为了这个目的。定义,例如:

Set-Alias -Name nteract -Value "D:\Program Files\nteract\nteract.exe"
然后使用别名:
nteract ".\01 Getting started.ipynb"
以这种方式定义的别名仅在当前 PowerShell session 期间可用。有关使它们持久化的方法,请参阅 How to create permanent PowerShell Aliases .

关于windows - 如何使用 Powershell 在辅助应用程序中使用函数打开包含空格的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62630653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com