我转过圈子,经过大量研究,我在这个小案例中寻求你的专业知识。我可以将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%”,但不提供批处理变量。
答案 0 :(得分:1)
从批处理,您可以阅读文件:
<file.ext set /p "var="`
或者您可以直接获取powershell脚本的输出(在这种情况下不要重定向到文件):
for /f "delims=" %%a in ('powershell D:\Rnm-Exante.ps1 -fic "%NOMFIC%"') do set "var=%%a"