无需创建 PS 文件即可创建批处理文件以执行多行 Powershell 脚本

问题描述 投票:0回答:1

我创建了一个包含以下代码行的批处理文件,当执行该批处理文件时,未创建新文件夹。我不想创建新的 .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
}
powershell batch-file
1个回答
0
投票

正如 Stephan 已经评论的那样,您不能从批处理脚本中运行 powershell 代码。实际上没有办法做到这一点,因为这两个系统使用完全不同的语言,具有不同的安全性等。

所以你的选择是:

1 - 使用 PowerShell,在这种情况下,您需要将该代码添加到 .ps1 文件并从那里运行它。

2 - 使用批处理,在这种情况下,您需要更改代码以使用批处理脚本方法来执行您需要的操作。因此,就您的示例而言,您希望将该代码替换为以下 batchscriptp 代码:

set FolderPath="c:\TestFolder\"
if not exist %FolderPath% (
  mkdir %FolderPath%
  echo "New folder created successfully!"
)

这将做同样的事情(减去绿色文本)。

© www.soinside.com 2019 - 2024. All rights reserved.