Powershell 使用空格和变量执行exe文件

Powershell 使用空格和变量执行exe文件,powershell,Powershell,我有一些变量: $FSDUMP_DIR = 'C:\DUMPDIR\' $ADS_DIR = 'C:\Program Files\Advantage 10.10\Server\' $ADS_PASS = 'password' $DATAADT_DIR = 'C:\SHARED\DATAADT\' $LOGDIR = 'C:\DUMPDIR\BUDUMPRESULT\' $LOGFILE = $LOGDIR + 'output.txt' $ADSBACKUP = 'adsbackup.exe'

我有一些变量:

$FSDUMP_DIR = 'C:\DUMPDIR\'
$ADS_DIR = 'C:\Program Files\Advantage 10.10\Server\'
$ADS_PASS = 'password'
$DATAADT_DIR = 'C:\SHARED\DATAADT\'
$LOGDIR = 'C:\DUMPDIR\BUDUMPRESULT\'
$LOGFILE = $LOGDIR + 'output.txt'
$ADSBACKUP = 'adsbackup.exe'
我想执行一个文件,用变量组合参数,并将输出转储到txt文件中

我试过这个

$ASSEMBLEFilePath = $ADS_DIR + $ADSBACKUP
$ASSEMBLEArgumentlist = '-p' + $ADS_PASS + ' ' + $DATAADT_DIR + 'florisoft.add ' + $FSDUMP_DIR
$ASSEMBLECommand = $ASSEMBLEFilePath + ' ' + $ASSEMBLEArgumentlist
& $ASSEMBLECommand
但它抛出了一个错误。所以我试了一下:

调用表达式$ASSEMBLECommand
但是它抛出了同样的错误,所以我尝试了这个:

Start进程-FilePath$ADSBACKUP-WorkingDirectory$ADS\u DIR-ArgumentList$assembleergumentlist-Wait

这一个可以工作,但我无法在文本文件中捕获输出(使用
>textfile.txt
)。

使用调用运算符(
&
)程序和参数不应是单个字符串,并且参数应在数组中:

$FSDUMP\u DIR='C:\DUMPDIR'
$ADS\U DIR='C:\Program Files\Advantage 10.10\Server'
$ADS_PASS='password'
$DATAADT\u DIR='C:\SHARED\DATAADT'
$LOGDIR='C:\DUMPDIR\BUDUMPRESULT'
$LOGFILE=连接路径$LOGDIR'output.txt'
$ADSBACKUP=加入路径$ADS_DIR'ADSBACKUP.exe'
$params='-p',$ADS_PASS,${DATAADT_DIR}\florisoft.add',$FSDUMP_DIR
&$ADSBACKUP$params

感谢您的评论,程序adsbackup.exe被调用,但是程序说参数不正确(或丢失)。当我检查params Write Host$params时,它似乎都是正确的。@MartienWijnands请用准确的错误消息更新您的问题。