2015-11-25 81 views
0

我已经查看了使用批处理文件将参数传递到PowerShell脚本中的几个不同解决方案;然而,他们中没有人为我工作。我的批处理比我看到的其他问题稍微复杂一点,经过多次搜索后,我决定发布我自己的。将ThisScriptsDirectory作为参数传递到Powershell从批处理

这是我目前的批处理文件(该运行,但在参数不及格):

@ECHO OFF 
SET ThisScriptsDirectory=%~dp0 
SET PowerShellScriptPath=%ThisScriptsDirectory%TrentsAdobeTool1.ps1 
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%""' -Verb RunAs"}; 
pause 

我想在ThisScriptsDirectory以作为参数传递所提到的脚本,存储,和能够使用它作为路径(以后添加到路径中的其他文件夹)

所以,我想知道如何更改批处理文件以及如何接受参数到Powershell脚本中。

回答

0

如果您只需访问环境变量的值,则可以通过PSDrive for环境变量在Powershell脚本中执行此操作。

基于批处理文件的示例。

$ENV:ThisScriptsDirectory 
$ENV:PowerShellScriptPath 
+0

这很完美。谢谢! –

+0

所以这个工作对我来说是最初的工作,但是我回过头来让脚本更加健壮,现在我每次尝试使用$ ENV:ThisScriptsDirectory它都会返回空。为什么会这样? –

相关问题