完全新手简单的powershell问题我正在尝试执行以下操作 - 对于当前目录中的每个*.sql文件运行
sqlplus username/password@connect_identifier_specified_in_argument @file_name
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止:
$scripts = dir *.sql
foreach($script in $scripts) {
Write-Host sqlplus username/password"@"$args "@"$script.Name
}
Run Code Online (Sandbox Code Playgroud)
(我知道写主机将它输出到屏幕上,我现在只是想调试)
然而,对于powershell如何处理@字符有一些时髦的东西,当我运行它时,我总是得到类似的东西
PS C:\code\scripts> C:\utils\run_sql_scripts_on.ps1 identifier
sqlplus username/password@identifier @ ALERTS.sql
Run Code Online (Sandbox Code Playgroud)
在"@"之后看到那个空格?是什么赋予了?
用反引号(`)逃脱@.
Write-Host sqlplus username/password`@$args `@$script.Name
Run Code Online (Sandbox Code Playgroud)