windows - 如何将命令行参数传递给由 doskey 调用的 PowerShell 脚本

标签 windows powershell batch-file cmd doskey

我有一个 caller.cmd 文件,它的 DOSKEY 设置如下:

DOSKEY startnow=call powershell getscalled.ps1 

现在脚本 getscalled.ps1 在参数集中定义了两个开关参数,如下所示:

param(
    [Parameter(Mandatory=$false,ParameterSetName='first')]
    [switch]$thisIsFirst,
    [Parameter(Mandatory=$false,ParameterSetName='second')]
    [switch]$thisIsSecond
) 

因此,一次只能提供两个参数中的一个。我希望使用我设置的 DOSKEY 从命令行本身提供参数。像这样的东西:

startnow -thisIsFirst  

关于如何实现这一目标的任何帮助? 谢谢!

最佳答案

像这样创建宏(所以使用 $1 $2... 作为参数);

DOSKEY startnow=script.ps1 $1

所以,你可以调用;

startnow -thisIsFirst  

关于windows - 如何将命令行参数传递给由 doskey 调用的 PowerShell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62127400/

相关文章:

windows - 如何使用硬编码密码修复 PowerShell 中 WinSCP SFTP 脚本中的安全性

Powershell 枚举属性的属性

command-line - 从环境变量中去除回车符 - XP 命令行

batch-file - 为什么这个 .bat cmd 总是命中一个我不打算让它命中的子例程?

windows - 通过批处理/CMD 刷新 Internet 选项

windows - Vim 作为默认编辑器

java - 在 Java 程序中在远程计算机上运行批处理文件

python - 如何在 Windows 10 上安装 pyYAML

windows - ffmpeg 解码 h.264 流延迟总是一帧

powershell - 如何捕获信息流中报告的错误?