结果在批处理文件中变量

时间:2017-02-14 07:16:03

标签: windows batch-file variables

我转过圈子,经过大量研究,我在这个小案例中寻求你的专业知识。我可以将PS1脚本的结果发送到文本文件,但不能发送到批处理文件变量。

脚本

    Param(
[string]$Fic
)

$EmplacementFichier = [string]

$EmplacementFichier = "$Fic"
$MonFichier = get-content -totalcount 1 $EmplacementFichier
$Resultat = $MonFichier.SubString(92,12)

$RnmFic = "EXANTE_$resultat.REPRESTI.txt"
rename-item $EmplacementFichier -newname $RnmFic

Write-Output $RnmFic

从批处理文件中启动:

powershell D:\Rnm-Exante.ps1 -fic "%NOMFIC%" > %Fichier%

它在脚本的位置创建一个文件“%Fichier%”,但不提供批处理变量。

1 个答案:

答案 0 :(得分:1)

从批处理,您可以阅读文件:

<file.ext set /p "var="`

或者您可以直接获取powershell脚本的输出(在这种情况下不要重定向到文件):

for /f "delims=" %%a in ('powershell D:\Rnm-Exante.ps1 -fic "%NOMFIC%"') do set "var=%%a"