Первый пост и заранее извинения за то, что он полный и полный новичок. Я унаследовал что-то, для чего я просто пытаюсь найти решение, у меня нулевые знания. Я искал форум и считаю, что нашел частичный ответ (команда sed), однако я сталкиваюсь с проблемой в том, чтобы заставить его работать успешно.
Мне нужно, чтобы это работало на Windows и он использовался ранее для простой замены в файле .csv, теперь мне нужно вставить строку заголовка .
У меня есть файл 'fixit.cmd' , который содержит это;
set batdir=C:\Sed\filepath\batch
set impdir=C:\Sed\filepath\import
set filename=xxx
:: to read as parameter, uncomment next line
:: set filename=%1
cscript //NoLogo %batdir%\sed.vbs 1i"ABC,123" < %impdir%\%filename%.csv > %impdir%\%filename%_fixed.csv
pause
У меня есть файл 'sed.vbs' , который содержит это;
Dim pat, patparts, rxp, inp
pat = WScript.Arguments(0)
patparts = Split(pat,"/")
Set rxp = new RegExp
rxp.Global = True
rxp.Multiline = False
rxp.Pattern = patparts(1)
Do While Not WScript.StdIn.AtEndOfStream
inp = WScript.StdIn.ReadLine()
WScript.Echo rxp.Replace(inp, patparts(2))
Loop
Когда я запускаю 'fixit.cmd' , я получаю сообщение об ошибке;
sed.vbs(7, 1) Microsoft VBScript runtime error: Subscript out of range: '[number: 1]'
Я предполагаю, что это указывает на 'sed.vbs' только контент поддерживает предыдущую замену и / или строку вставки строки моего заголовка неверна.
Какие изменения необходимо внести в содержимое 'sed.vbs' и / или моя строка заголовка вставьте строку для успешного вставки строки заголовка ?
Будет очень признателен за любую / все поддержку.