gpt4 book ai didi

powershell - 带空格的启动进程 powershell

转载 作者:行者123 更新时间:2023-11-29 08:08:46 26 4
gpt4 key购买 nike

我已经在这个问题上呆了很长一段时间了,到了我非常沮丧的地步。我希望有人能指出我正确的方向。

我需要为 6 个特定数据库运行 mysqldump。我需要在最后一个生成完成后运行每个生成。它不应该同时运行所有命令。需要等待。

我已经尝试过这个:

$dump = "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe"
$args = @('-u','databaseUser','-pMySuperAwesomePasswordHere','--single-transaction','--log-error=c:\backups\mysqldump_error.log',"$database > $backupFilePath\$database.sql")
Start-Process $dump $args -Wait

我已经尝试过这个:

$cmd = $backupCmd + $database + " > " + "$backupFilePath\$database.sql"
Write-Host $cmd
invoke-expression $cmd | out-null

如何执行命令,尤其是将输出重定向到文件系统上的文件的命令?

谢谢。

最佳答案

重定向是一个shell功能。 Start-Process 将尽职尽责地包含最后一个参数以及数据库名称和传递给 mysqldump 的实际参数中的 >,而后者又不知道到底如何处理>

你可能想要类似的东西

$args = '-u','databaseUser','-pMySuperAwesomePasswordHere','--single-transaction','--log-error=c:\backups\mysqldump_error.log',"$database"
& "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe" @args | Out-File $backupFilePath\$database.sql

由于 mysqldump 是一个控制台应用程序,因此它会一直等到完成后再继续执行脚本。

关于powershell - 带空格的启动进程 powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22145505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com