Na verdade, existem muitas opções ..
Esta ferramenta on-line é ótima - > link
Além disso, você pode baixar a versão portátil do NOTEPAD ++ e rodar qualquer coisa lá ..
Boa sorte!
Longa história curta , preciso ativar um cliente para executar rotineiramente uma localização e substituição de expressão regular em muitos arquivos SVG com até 3 MB de tamanho:
font-family=".*?"
font-family="Liberation Sans, Helvetica, Arial, sans-serif"
Fácil na maioria dos editores de código: mas o problema é que os funcionários que farão esse processo estarão em um ambiente muito restrito - o Windows 7 praticamente não possui software não padrão, exceto Microsoft Office e possivelmente o Adobe Illustrator, em desktops virtuais sem direitos de administrador. Isto parece ser inegociável, infelizmente.
Estou tentando fazer com que o gerenciamento faça uma exceção e permita que algo como o Notepad ++ seja adicionado ao ambiente deles - mas isso não é tão simples quanto parece (pelo que entendi, porque é virtualizado, instalando software personalizado para uma máquina significa instalá-lo nos servidores que mais de 1.000 máquinas usam, o que é muito resistente a fazer).
Portanto, supondo que a instalação de software personalizado não seja possível, existe alguma maneira de fazer uma simples descoberta / substituição regex usando ferramentas que vêm com o Windows ou o Office?
Estou ciente de que o Word possui alguns recursos de localização / substituição de regex, mas não está ciente de qualquer maneira de pará-lo, além de causar uma confusão com qualquer arquivo de código que ele toque. Existem muitas outras pequenas ferramentas empacotadas com o Windows: algum deles pode fazer isso? Ferramentas baseadas na Web também podem funcionar.
Na verdade, existem muitas opções ..
Esta ferramenta on-line é ótima - > link
Além disso, você pode baixar a versão portátil do NOTEPAD ++ e rodar qualquer coisa lá ..
Boa sorte!
Eles podem executar o VBScript? Em caso afirmativo, o seguinte VBScript (rapidamente cortado em conjunto) funcionará:
Option Explicit
If WScript.Arguments.Count <> 2 Then
WScript.Echo "Usage: " & WScript.ScriptName & " <input> <output>"
WScript.Quit
End If
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(WScript.Arguments.Item(0)) = False Then
WScript.Echo "Error: '" & WScript.Arguments.Item(0) & "' does not exist."
WScript.Quit
End If
Dim oFile : Set oFile = fso.OpenTextFile(WScript.Arguments.Item(0))
Dim sContents : sContents = oFile.ReadAll : oFile.Close
Dim re : Set re = New Regexp
re.IgnoreCase = True : re.Global = True : re.Pattern = "font-family=\"".*?\"""
sContents = re.Replace(sContents, "font-family=""Liberation Sans, Helvetica, Arial, sans-serif""")
Set oFile = fso.CreateTextFile(WScript.Arguments.Item(1), True)
oFile.Write sContents
oFile.Close
Set re = Nothing
Set oFile = Nothing
Set fso = Nothing
Salve-o como algo (por exemplo, convert.vbs
) e, em seguida, execute-o com a seguinte linha de comando:
cscript convert.vbs <input file> <output file>
Se você deseja substituir o original com as modificações, basta colocar o nome do arquivo duas vezes, por exemplo:
cscript convert.vbs diagram.svg diagram.svg
Dependendo do seu nível de conforto, você pode modificá-lo para trabalhar em um grupo de arquivos ou escrever um arquivo em lote que o chame quantas vezes houver arquivos.