Мне нужно обновить каталог во многих текстовых файлах
Input files:
1.txt
using c:\data\1.dta
its own data
2.txt
using c:\data\2.dta
its own data
3.txt
using c:\data\3.dta
its own data
Expected Output files:
1.txt
using C:\Data\Subfile\1.dta
its own data
2.txt
using C:\Data\Subfile\2.dta
its own data
3.txt
using C:\Data\Subfile\3.dta
its own data
Я пробовал -replace, но результаты странные: либо все файлы имеют одинаковый результат, либо все новые каталоги (продаются ниже)
Я хочу обновить oldpath в newpath во всех файлах.Код следующий:
$pathway='C:Data\Subfile\*.txt'
$oldpath='c:\\data\\'
$newpath='C:\Data\Subfile\'
$content=Get-Content -path $pathway
Метод 1:
$newline=((Get-Content -path $pathway -TotalCount 1) -replace $oldpath,$newpath)
$content[0]= $newline
This method will include all updated directories in every file:
Wrong output:
1.txt
using C:\Data\Subfile\1.txt
using C:\Data\Subfile\2.txt
using C:\Data\Subfile\3.txt
its own data
2.txt
using C:\Data\Subfile\1.txt
using C:\Data\Subfile\2.txt
using C:\Data\Subfile\3.txt
its own data
Метод 2:
$content[0]=$content[0]-replace $oldpath,$newpath
This method will cause all file has the same new directory:
Wrong output:
1.txt
using C:\Data\Subfile\1.txt
its own data
2.txt
using C:\Data\Subfile\1.txt
its own data
3.txt
using C:\Data\Subfile\1.txt
its own data
$content | Set-Content -Path $pathway
Может ли кто-нибудь помочь мне с этим?Я хочу, чтобы каждый файл имел свой новый каталог.Для 1.txt я хочу C: \ Data \ Subfile \ 1.txt, для 2.txt хочу C: \ Data \ Subfile \ 2.txt и т. Д.
Большое спасибо!