gpt4 book ai didi

powershell - 将命令脚本转换为 powershell

转载 作者:行者123 更新时间:2023-12-04 13:06:21 29 4
gpt4 key购买 nike

我有这个命令提示符脚本,我需要将其转换为 powershell 脚本,但我对从哪里开始感到困惑,因为我不熟悉 powershell。首先,我认为我需要以不同的方式声明变量,并在长命令中以不同的方式引用它们。

@echo On
setlocal

set base_dir=D:\Temp\peijun\LoadLegacyDocs
set java_home=D:\Programs\jre6.31
set environment=stg
set result=logs\%environment%\%1.properties

"%java_home%\bin\java" -javaagent:%base_dir%\lib\openejb-3.1.4\lib\openejb-javaagent-3.1.4.jar -classpath %base_dir%\config\%environment%;%base_dir%\lib\openejb-3.1.4\lib\*;%base_dir%\lib\jar\*;%base_dir%\lib\common_lib\*;d:\documentum\config;d:\Programs\Documentum\dctm.jar -Dlog4j.configuration=file:///%base_dir%/config/%environment%/log4j.properties com.eds.jdc.util.LoadLegacyDocs %1 %2 %3

编辑:

这是我目前拥有的。除了更改在长命令行中声明和引用变量的方式外,没有太多变化。我走在正确的轨道上吗?

Write-Host On

$env:base_dir="D:\Temp\peijun\LoadLegacyDocs"
$env:java_home="D:\Programs\jre6.31"
$env:environment="stg"
$env:result="logs\$environment\%1.properties"

"$java_home\bin\java" -javaagent:$base_dir\lib\openejb-3.1.4\lib\openejb-javaagent-3.1.4.jar -classpath $base_dir\config\$environment;$base_dir\lib\openejb-3.1.4\lib\*;$base_dir\lib\jar\*;$base_dir\lib\common_lib\*;d:\documentum\config;d:\Programs\Documentum\dctm.jar -Dlog4j.configuration=file:///$base_dir/config/$environment/log4j.properties com.eds.jdc.util.LoadLegacyDocs %1 %2 %3

最佳答案

在我的示例中,java 的参数列表可能(现在)是正确的。试试这个...

[CmdletBinding()]
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$dir1,

[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$dir2,

[Parameter(Mandatory)]
[boolean]$Save
)

$Env:base_dir = 'D:\Temp\peijun\LoadLegacyDocs'
$Env:java_home = 'D:\Programs\jre6.31'
$Env:environment = 'stg'
$Env:result = "logs\$Env:environment\$dir1.properties"

& "$Env:java_home\bin\Java" "-javaagent:$Env:base_dir\lib\openejb-3.1.4\lib\openejb-javaagent-3.1.4.jar" "-classpath $Env:base_dir\config\$Env:environment;$Env:base_dir\lib\openejb-3.1.4\lib\*;$Env:base_dir\lib\jar\*;$Env:base_dir\lib\common_lib\*;d:\documentum\config;d:\Programs\Documentum\dctm.jar" "-Dlog4j.configuration=file:///$Env:base_dir/config/$Env:environment/log4j.properties com.eds.jdc.util.LoadLegacyDocs $dir1 $dir2 $Save"

但是 .ps1 文件不能“独立”启动,您必须使用 PowerShell 主机(即 PowerShell 控制台)而不是 cmd.exe 来运行它。

关于powershell - 将命令脚本转换为 powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69286696/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com