我创建了一个批处理文件,其中包含下面的代码行,当执行批处理文件时,不会创建新的文件夹。我不想创建新的.ps1文件并将代码放入其中。
START /W powershell -noexit $FolderPath= "C:\TestFolder"
#Check if Folder exists
If(!(Test-Path -Path $FolderPath))
{
New-Item -ItemType Directory -Path $FolderPath
Write-Host "New folder created successfully!" -f Green
}
3条答案
按热度按时间mznpcxlj1#
正如Stephan已经评论过的,你不能在批处理脚本中运行powershell代码。实际上没有办法做到这一点,因为这两个系统使用完全不同的语言,具有不同的安全性等。
因此,您的选择是:
1 -使用PowerShell,在这种情况下,您需要将该代码添加到.ps1文件并从那里运行它。
2 -使用Batch,在这种情况下,您需要更改代码以使用batchscript方法来执行所需操作。因此,在您的示例中,您需要将该代码替换为以下batchscriptp代码:
这将做同样的事情(减去绿色文本)。
7tofc5zh2#
根据我之前的评论,这里有一个非常快速的例子,你发布了,(加上创建一个额外的目录,以便更好地向你展示机制),直接从批处理文件运行,而不需要创建
.ps1
文件:pw136qt23#
你可以按照这个答案中的规则将PowerShell代码写入Batch .bat文件。例如:
您可以在this thread中查看大型PowerShell部分的.BAT文件示例,甚至可以查看完整的动画游戏,如彩色的VIBORAS.BAT(蛇)游戏...