【发布时间】:2021-11-16 01:35:57
【问题描述】:
我有这个命令提示符脚本,需要将其转换为 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
【问题讨论】:
-
无论脚本在 imo 上做什么,都很难归类为 java 问题。
-
三个参数
%1 %2 %3应该是什么?完整的文件路径?它总是必须是三个参数吗? -
三个参数是两个文件路径和一个布尔值。
-
布尔值代表什么?它是目录还是文件的路径?
-
布尔值是真正的布尔值还是只是文本 True/False?