POWERSHELL
Exemplo de sintaxe do PowerShell abaixo para localizar e substituir strings em um arquivo específico.
EXEMPLO
(Get-Content "C:\Users\user\Desktop\testtestzzz.txt") |
Foreach-Object {$_.replace("\changeme", "\server\share name")} |
Set-Content "C:\Users\user\Desktop\test\testzzz.txt"
Recursos:
F.A.R.T
Para o problema F.A.R.T com espaços especificamente, acho que você só precisa adicionar aspas duplas em torno das strings que está passando para ele. Dê uma chance e, em seguida, talvez você possa continuar a usá-lo sem mais alterações.
EXEMPLO
"%~dp0Software\fart" -i -r "%~dp0Software\config.cfg" "\changeme" "%N%"
Você também pode adicionar a opção capital -V
(veja o exemplo abaixo) para obter detalhes detalhados da mensagem de erro, se necessário, para solucionar problemas adicionais, mas resolvi esse problema com FART e espaço em uma string de substituição, adicionando as aspas duplas em torno dele, como no meu exemplo abaixo # 2.
Exemplo # 2
fart -i -C -V "C:\Users\user\Desktop\test\testzzz.txt" "\changeme" "\server\share name"
Você também pode considerar excluir a opção -r
se estiver alterando apenas o texto em um arquivo SINGLE (por exemplo, config.cfg). Abaixo estão as opções FART /?
que eu vejo explicando as opções.
Usage: FART [options] [--] <wildcard>[,...] [find_string] [replace_string]
Options:
-h, --help Show this help message (ignores other options)
-q, --quiet Suppress output to stdio / stderr
-V, --verbose Show more information
-r, --recursive Process sub-folders recursively
-c, --count Only show filenames, match counts and totals
-i, --ignore-case Case insensitive text comparison
-v, --invert Print lines NOT containing the find string
-n, --line-number Print line number before each line (1-based)
-w, --word Match whole word (uses C syntax, like grep)
-f, --filename Find (and replace) filename instead of contents
-B, --binary Also search (and replace) in binary files (CAUTION)
-C, --c-style Allow C-style extended characters (\xFF(Get-Content "C:\Users\user\Desktop\testtestzzz.txt") |
Foreach-Object {$_.replace("\changeme", "\server\share name")} |
Set-Content "C:\Users\user\Desktop\test\testzzz.txt"
\t\n\r\ etc.)
--cvs Skip cvs dirs; execute "cvs edit" before changing files
--svn Skip svn dirs
--remove Remove all occurences of the find_string
-a, --adapt Adapt the case of replace_string to found string
-b, --backup Make a backup of each changed file
-p, --preview Do not change the files but print the changes