我正在尝试创建一个脚本,该脚本将通过.sql文件并将一个字符串替换为另一个字符串并创建一个新文件。我已经获得了允许选择文件的脚本,但是我无法使脚本的替换部分正常工作而不会出错。
我已经逐行浏览了代码,但是我看不到为什么未设置参数。
Function Get-FileName($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.InitialDirectory = $initialDirectory
$OpenFileDialog.Filter = "SQL File (*.sql)| *.sql"
$OpenFileDialog.ShowDialog() | Out-Null
}
$inputfile = Get-FileName "E:\OneDrive\Work"
$inputdata = Get-Content -Path $inputfile
((Get-Content $inputdata -replace 'DEFINER=`root`@`%`','DEFINER=`root`@`localhost`')) | Set-Content ($intputdata + '_fixed.sql')
期望从弹出窗口中选择的文件将替换为字符串,并且将创建具有正确字符串的新文件。