我在将bat命令转换为我的Powershell脚本时遇到问题。我试图在我的PS脚本中运行TabCMD(Tableau Command)。
以下bat文件有效:tabCMD.bat
cd C:\Program Files\Tableau\Tableau 9.0\bin
tableau refreshextract --server "https://online.tableausoftware.com" --username "myEmail@email.com" --password "password" --site "gameMetrics" --project "acquisition" --datasource "VisExtract"
我想将其转换为Powershell脚本:PSTabCMD.ps1
$server='https://online.tableausoftware.com'
$username='myEmail@email.com'
$password='password'
$site='gameMetrics'
$project='acquisition'
$datasource='VisExtract'
Set-Location "C:\Program Files\Tableau\Tableau 9.0\bin"
$TabCMD = "tableau refreshextract --server $server --username $username --password $password --site $site --project $project --datasource $datasource"
Invoke-Expression -Command:$TabCMD
write-host 'Command complete!!'
我收到以下错误:
'tableau : The term 'tableau' is not recognized as the name of a cmdlet, function, script file, or operable program.'
我也尝试将Invoke-Expression更改为& “$ TabCMD”和启动 - 处理$ TabCMD 但这些也不起作用。
我需要更新几个摘录,并且不想调用一堆bat文件。
有人知道如何在Powershell中运行此TabCMD命令吗?
谢谢!
答案 0 :(得分:3)
将tableau
更改为.\tableau
,它可能会有效。 PowerShell不允许您在当前目录中运行,而无需显式引用当前目录。