Como mostrar os términos de linha e os caracteres de controle em um arquivo no Windows Server?

1

Estou tendo alguns problemas com o My Windows Servers, onde preciso adicionar --server ao Puppet, ou ele não funcionará, apesar de ter o servidor correto configurado no arquivo de configuração. Eu estou querendo saber se há uma linha Linux terminando em vez de um Windows crlf. O que é uma maneira fácil de verificar isso da caixa do Windows?

    
por usedTobeaMember 25.05.2014 / 19:31

1 resposta

0

Ou use um hack rápido da VBS:

'
' Save this as "myscript.vbs" and then execute from command line like:
'   cscript.exe myscript.vbs "<file to check>"
'
Option Explicit
On Error Resume Next
Err.Clear
Dim objArgs
Dim objFSO
Dim objTextFile
Dim strFileContentsIn
Dim strFileContentsOut
Dim intCharIndex
strFileContentsOut = ""
Set objArgs = WScript.Arguments
If Err.Number <> 0 Then
    WScript.Echo "ERROR : Bad args."
    Err.Clear
Else
    Set objFSO = CreateObject( "Scripting.FileSystemObject" )
    If Err.Number <> 0 Then
        WScript.Echo "ERROR : Failed to create File System Object."
        Err.Clear
    Else
        Set objTextFile = objFSO.OpenTextFile( objArgs.Item(0) )
        If Err.Number <> 0 Then
            WScript.Echo "ERROR : Failed to open file."
            Err.Clear
        Else
            strFileContentsIn = objTextFile.ReadAll
            If Err.Number <> 0 Then
                WScript.Echo "ERROR : Failed to read file."
                Err.Clear
            Else
                For intCharIndex = 1 To Len( strFileContentsIn )
                    If ( Asc(Mid( strFileContentsIn, intCharIndex, 1 )) = 10 ) Then
                        strFileContentsOut = strFileContentsOut & "\n" & VbCrLf
                    ElseIf ( Asc(Mid( strFileContentsIn, intCharIndex, 1 )) = 13 ) Then
                        strFileContentsOut = strFileContentsOut & "\r"
                    Else
                        strFileContentsOut = strFileContentsOut & Mid( strFileContentsIn, intCharIndex, 1 )
                    End If
                Next
                WScript.Echo strFileContentsOut
            End If
            objTextFile.Close
            Set objTextFile = Nothing
        End If
        Set objFSO = Nothing
    End If
End If

Versão alternativa do PowerShell mais curta. Ainda não é um comando nativo: \

(([IO.File]::ReadAllText( "<filepath>" ) -replace "'r", "\r") -replace "'n", "\n")
    
por 25.05.2014 / 23:20

Tags