Я пытаюсь создать скрипт, который будет проходить через файл .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')
Предполагается, что в файле, выбранном во всплывающем окне, будет заменена строка, а новый файл с правильной строкой будетсоздано.