在 Windows10 上使用一个命令运行一系列程序

在 Windows10 上使用一个命令运行一系列程序

我有一个需要用户输入的可执行文件。我希望能够将多个命令放在一个文件中(称为 run.sh),每个命令用于传递给程序的不同输入,例如:

program input1 input2
program input3 input4
program input5 input6

然后调用 run.sh 文件。在 Linux 的终端上,我只需调用 ./run.sh,但我不确定如何在 Windows 上执行此操作。我还愿意听取任何其他建议,以便仅使用一个命令按顺序运行此操作。谢谢!

答案1

在 Windows 10 中,您基本上有四个选项可以实现此目的,而不需要太多努力:

  1. 命令

创建一个文件commands.cmd,将命令及其参数写入其中,就像在 Linux 中的 bash 中所做的那样,为了方便起见,在桌面上创建该文件的快捷方式。双击快捷方式将使其运行并执行其中的命令。

如果某些方法不起作用,请打开 Windows 命令提示符(单击开始菜单,输入cmd并选择相应的条目,通常在列表顶部)。在命令提示符中,cd进入您存储的文件夹commands.cmd,然后只需输入其名称并按回车键即可执行它(就像在 bash 中一样)。

请注意,Windows 中的路径分隔符是\

  1. 电源外壳

这与 1) 中的方法相同,但使用 Powershell 解释器而不是命令提示符。Powershell 是一种由 Microsoft 发明并大力推广的编程语言,但与此同时,它在很大程度上是开源的,并且也在其他操作系统中运行。由于在 Windows 上它可以使用 .NET 类和程序集,因此它比命令提示符强大得多。

我希望我没有吓到你——从 Powershell 脚本中启动程序就像从 .cmd 脚本中执行此操作一样简单。按照 1) 中的说明进行操作,但用 替换cmdpowershell为脚本添加扩展名.ps1而不是.cmd

在运行 Powershell 脚本之前,可能需要打开 Powershell 并在其中执行以下命令:Set-ExecutionPolicy RemoteSigned。这是因为 Windows 拒绝执行未签名的 Powershell 脚本,即使这些脚本位于本地磁盘驱动器上。

  1. 西弗吉尼亚海岸

由于您似乎来自 Linux,因此您可以安装 WSL(适用于 Linux 的 Windows 子系统)。这正是它的名称所暗示的:它使用微软的虚拟化技术 Hyper-V,在 Windows 中安装功能齐全的 Linux;您甚至可以从多个发行版(debian、ubuntu 等)中进行选择,当然,您可以选择 bash(或其他 shell),因此您只需使用现有的 bash 脚本并在 WSL 中运行它们即可。

要安装它,请进入 Windows 软件管理并选择Add features;它将在那里提供。然后,您应该能够运行 Linux 中您习惯的所有内容,除非它与硬件相关或需要 X 或 Wayland。

  1. 赛格威

对于 Linux 用户来说,还有一件事:您可以安装 Cygwin;这基本上是一个 DLL,它将 Linux Posix API 的很大一部分转换为 Windows API 调用,并在此基础上构建了一个(模拟的)Linux 系统。我个人已经使用它很多年了,我对它很满意。

再次强调,与硬件相关的 Linux 实用程序无法在 Cygwin 中运行,但所有常用的 Linux 命令行实用程序都可以。当然,Cygwin 还提供 bash 和其他几个 shell。Cygwin 甚至提供了一个 X 服务器,使您可以在 Windows 桌面上运行远程 Unix 或 Linux 机器上的图形程序。同样,您可以获取现有的 bash 脚本并在 Cygwin 中运行它们。

相关内容