在终端中运行Python文件 - 在VSCode中 - 在命令之前加上一个和符号"&" - 这是什么意思?

19 浏览
0 Comments

在终端中运行Python文件 - 在VSCode中 - 在命令之前加上一个和符号"&" - 这是什么意思?

$tool = 'C:\Program Files\gs\gs9.07\bin\gswin64c.exe'

& $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $pdf.FullName -c quit

有人能解释一下这个是如何工作的吗?在powershell中,&符号具体是什么意思/作用是什么?

0
0 Comments

在VSCode中使用终端运行Python文件时,如果在命令之前添加一个"&"字符,可以执行命令、脚本或函数。这个"&"字符是调用运算符,它允许执行命令的操作。

使用&运算符的语法如下:

& "[path] command" [arguments]

例如:

$LocalComputerName = & $ENV:windir\System32\HostName.exe

另外,如果使用IDE(如PowerGUI),可以阻止在执行次要进程时打开单独的窗口:

& more
Start-Process "my_script.here"

那么& more是什么呢?

当使用IDE时,如果执行的新进程在新的独立窗口中运行,可以使用& more来隐藏窗口。

更多信息请参考官方文档:the official documentation

&Start-Process有什么区别呢?

&在子作用域中运行进程,而Start-Process和直接运行命令则在当前作用域中运行。可以将&看作是启动守护进程。

我不能告诉你为什么,但在我的Powershell脚本中,当使用调用运算符(&)运行带有参数的卸载命令时,需要在指定路径时使用单引号& 'path\to\exe' /switch,而不是双引号。

0