现在我有一个 powershell 脚本,它调用捆绑在 CMD 文件中的 FTP 请求。
它可以工作,但我想将 FTP 请求集成到 powershell 脚本中,因为它可以减少 1 个文件来跟踪。
到目前为止,我已经尝试过这样做,但它会产生错误(见下文)。
# run the command script to extract the file
#defines command to be run
$command = '
@echo off
setlocal
set uname=name
set passw=pass
set hostname=hstname
set filespec=spec
echo %uname%> test.ftp
echo %passw%>> test.ftp
echo cd DIRNAME>> test.ftp
echo binary>> test.ftp
echo get %filespec%>> test.ftp
echo bye>> test.ftp
ftp -s:test.ftp %hostname%
if errorlevel 1 pause
endlocal
'
# runs command
iex $command
错误:
Invoke-Expression:喷溅运算符“@”不能用于引用表达式中的变量。'@echo' 只能用作命令的参数。要在表达式中引用变量,请使用“$echo”。在 Dir\File.ps1:32 char:4 + iex <<<< $command + CategoryInfo : ParserError: (echo:String) [Invoke-Expression], ParseException + FullyQualifiedErrorId : SplattingNotPermitted,Microsoft.PowerShell.Commands.InvokeExpressionCommand
我也尝试将脚本更改为,$echo
但它会产生以下错误:
Invoke-Expression:表达式或语句中出现意外的标记“关闭”。在 Dir\File.ps1:32 char:4 + iex <<<< $command + CategoryInfo : ParserError: (off:String) [Invoke-Expression], ParseException + FullyQualifiedErrorId : UnexpectedToken,Microsoft.PowerShell.Commands.InvokeExpressionCommand