如何加快批量运行powershell命令的速度?

如何加快批量运行powershell命令的速度?,powershell,batch-file,Powershell,Batch File,您可以在命令提示符中创建彩色文本,但当它运行时,速度非常慢。有没有办法让它更快 我的代码: @echo off cls powershell write-host -fore Yellow -back Red "Merry" -NoNewLine powershell write-host -fore Red -back Yellow "Christmas" -NoNewLine powershell write-host -fore Yellow -ba

您可以在命令提示符中创建彩色文本,但当它运行时,速度非常慢。有没有办法让它更快

我的代码:

@echo off
cls
powershell write-host -fore Yellow -back Red "Merry" -NoNewLine
powershell write-host -fore Red -back Yellow "Christmas" -NoNewLine
powershell write-host -fore Yellow -back Red "To" -NoNewLine
powershell write-host -fore Red -back Yellow "Everyone" -NoNewLine
powershell write-host -fore Yellow -back Red "In" -NoNewLine
powershell write-host -fore Red -back Yellow "2020!" -NoNewLine

Powershell是一个外部程序,每次使用时都必须加载它。因此,只需使用一次:

@echo off
cls
powershell write-host -fore Yellow -back Red "Merry" -NoNewLine; ^
write-host -fore Red -back Yellow "Christmas" -NoNewLine;^
write-host -fore Yellow -back Red "To" -NoNewLine;^
write-host -fore Red -back Yellow "Everyone" -NoNewLine;^
write-host -fore Yellow -back Red "In" -NoNewLine;^
write-host -fore Red -back Yellow "2020!" -NoNewLine
Powershell只需加载一次,而之前加载了6次

行末尾的^是行的延续,因此实际上,这只是一条很长的逻辑行,为了可读性,它被分成了几个物理行:

powershell write-host -fore Yellow -back Red "Merry" -NoNewLine;write-host -fore Red -back Yellow "Christmas" -NoNewLine;write-host -fore Yellow -back Red "To" -NoNewLine;write-host -fore Red -back Yellow "Everyone" -NoNewLine;write-host -fore Yellow -back Red "In" -NoNewLine;write-host -fore Red -back Yellow "2020!" -NoNewLine

注意,cmd的最大行长约为8k个字符,这限制了此方法。

Powershell是一个外部程序,每次使用时都必须加载它。因此,只需使用一次:

@echo off
cls
powershell write-host -fore Yellow -back Red "Merry" -NoNewLine; ^
write-host -fore Red -back Yellow "Christmas" -NoNewLine;^
write-host -fore Yellow -back Red "To" -NoNewLine;^
write-host -fore Red -back Yellow "Everyone" -NoNewLine;^
write-host -fore Yellow -back Red "In" -NoNewLine;^
write-host -fore Red -back Yellow "2020!" -NoNewLine
Powershell只需加载一次,而之前加载了6次

行末尾的^是行的延续,因此实际上,这只是一条很长的逻辑行,为了可读性,它被分成了几个物理行:

powershell write-host -fore Yellow -back Red "Merry" -NoNewLine;write-host -fore Red -back Yellow "Christmas" -NoNewLine;write-host -fore Yellow -back Red "To" -NoNewLine;write-host -fore Red -back Yellow "Everyone" -NoNewLine;write-host -fore Yellow -back Red "In" -NoNewLine;write-host -fore Red -back Yellow "2020!" -NoNewLine

注意,cmd的最大行长约为8k个字符,这限制了此方法。

我将其放在批处理文件中,它说:^:术语“^”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。此处不会出现这种情况。但是我可以通过以^^而不是仅仅以^结束行来复制您的错误。请验证,只有一个“^”,这是该物理行上的最后一个字符。问题:是从CMD窗口还是从Powershell窗口启动批处理文件?CMD窗口。。。它在powershell上工作。所述错误发生在powershell窗口中;但在powershell中启动powershell毫无意义。在这种情况下,只需使用write host。我将它放在一个批处理文件中,它说:^:术语“^”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。此处不会出现这种情况。但是我可以通过以^^而不是仅仅以^结束行来复制您的错误。请验证,只有一个“^”,这是该物理行上的最后一个字符。问题:是从CMD窗口还是从Powershell窗口启动批处理文件?CMD窗口。。。它在powershell上工作。所述错误发生在powershell窗口中;但在powershell中启动powershell毫无意义。在这种情况下,只需使用写主机。如果速度是您主要关心的问题并且您使用的是Windows 10,我强烈建议您使用而不是Powershell。如果速度是您主要关心的问题并且您使用的是Windows 10,我强烈建议您使用而不是Powershell。