Jump to content

tylerdurden666

Members
  • Gesamte Inhalte

    15
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von tylerdurden666

  1. okay danke, funktioniert sehr gut auch mit der richtigen rxtco datei.

     

    Jetzt habe ich in der Source-Datei noch etwas mehr so wie hier:

     

    <?xml version="1.0" encoding="UTF-8"?>
    <TagsSuite name="suite">
        <Tags>
            <Tag name="hallo">

         </Tags>

    </TagsSuite name="suite">

     

    Diese beiden höherliegenden Tags sollen auch mit in jede Export-Datei.

    Ist dies auch möglich?

  2. nun kommt diese Fehlermeldung:

     

    
    PS C:\> .\test.ps1
    Der Wert "<file><?xml version="1.0" encoding="UTF-8"?> <Tag name = "Tag1"> <Mod
    ul name= "Modul1"> <Data name= "Data1"></Data> </Modul> </Tag> <Tag name = "Tag
    2"> <Modul name= "Modul2"> <Data name= "Data2"></Data> </Modul> </Tag> <Tag nam
    e = "Tag3"> <Modul name= "Modul3"> <Data name= "Data3"></Data> </Modul> </Tag><
    /file>" kann nicht in den Typ "System.Xml.XmlDocument" konvertiert werden. Fehl
    er: "Unerwartete XML-Deklaration. Die XML-Deklaration muss der erste Knoten im
    Dokument sein. Davor sind keine Leerzeichen zulässig. Zeile 1, Position 9."
    Bei C:\test.ps1:8 Zeichen:17
    + $xml = [xml]$xml <<<<
        + CategoryInfo          : NotSpecified: (:) [], RuntimeException
        + FullyQualifiedErrorId : RuntimeException
    
    Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
    Bei C:\test.ps1:12 Zeichen:32
    +     $filename = $_.Name.replace <<<< ('Tag','Ziel')
        + CategoryInfo          : InvalidOperation: (replace:String) [], RuntimeEx
       ception
        + FullyQualifiedErrorId : InvokeMethodOnNull
    
    Filename: C:\.xml
    Inhalt: <?xml version="1.0" encoding="UTF-8"?>
    PS C:\>

    hier mein Code:

     

    $src = 'C:\Inhalt.xml'
    $dst = 'C:'
     
    # In Xml konvertieren, welches die Powershell versteht:
    $xml = '<file>'
    $xml += Get-Content $src
    $xml += '</file>'
    $xml = [xml]$xml
     
    # Aufteilen und exportieren
    $xml.file.tag | % {
        $filename = $_.Name.replace('Tag','Ziel')
    	$value = '<?xml version="1.0" encoding="UTF-8"?>'
        $value += $_.OuterXml
        Set-Content -Value $value -Path "$dst\$filename.xml"
    	"Filename: $dst\$filename.xml"
    	"Inhalt: $value"
    }

    Und es wird nur eine .xml erstellt mit dem Inhalt :

    <?xml version="1.0" encoding="UTF-8"?>
  3. es wird nichts in die Datei ziel.xml geschrieben.


    hier die ausgabe im cmd:

    
    C:\>for /F "tokens=2 delims=<>" %i in (C:\Inhalt.xml) do echo %i  | findstr "Tag
    "  1>c:\ziel.xml
    
    C:\>echo /Data  | findstr "Tag"  1>c:\ziel.xml
    
    C:\>echo /Data  | findstr "Tag"  1>c:\ziel.xml
    
    C:\>echo /Data  | findstr "Tag"  1>c:\ziel.xml
    
    C:\>pause
    Drücken Sie eine beliebige Taste . . .
  4. Okay, nun kommt folgende Meldung:

     

    PS C:\> .\test.ps1
    Filename: C:\\Ziel1.xml
    Inhalt: <Tag name="Tag1"><Modul name="Modul1"><Data name="Data1"></Data></Modul
    ></Tag>
    Filename: C:\\Ziel2.xml
    Inhalt: <Tag name="Tag2"><Modul name="Modul2"><Data name="Data2"></Data></Modul
    ></Tag>
    Filename: C:\\Ziel3.xml
    Inhalt: <Tag name="Tag3"><Modul name="Modul3"><Data name="Data3"></Data></Modul
    ></Tag>
    PS C:\>
    
  5. Die Powershell - Console schließt gleich wieder ( wie stoppe ich sie)

     

    Ich führe die Datei mit rechtsclick --- mit powershell ausführen   aus.

     

     

    Das kommt als Fehlermeldung wenn ich sie in powershell.exe auführe:

    Windows PowerShell
    Copyright (C) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Dokumente und Einstellungen\wolffst12> c:
    PS C:\Dokumente und Einstellungen\wolffst12> cd..
    PS C:\Dokumente und Einstellungen> cd..
    PS C:\> test.ps1
    Die Benennung "test.ps1" wurde nicht als Name eines Cmdlet, einer Funktion, ein
    er Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Sc
    hreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wie
    derholen Sie den Vorgang.
    Bei Zeile:1 Zeichen:9
    + test.ps1 <<<<
        + CategoryInfo          : ObjectNotFound: (test.ps1:String) [], CommandNot
       FoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    
    
    Suggestion [3,General]: Der Befehl test.ps1 wurde nicht gefunden. Er ist jedoch
    am aktuellen Ort vorhanden. Windows PowerShell lädt Befehle nicht standardmäßig
    vom aktuellen Ort. Wenn Sie diesem Befehl vertrauen, geben Sie stattdessen ".\te
    st.ps1" ein. Weitere Informationen erhalten Sie unter "get-help about_Command_Pr
    ecedence".
    PS C:\>
  6. Guten Morgen,

     

    Ich habe beide Varianten ausprobiert.

     

    Zu Powershell:

     

    Ich verstehe nicht wo in diesem Code der <tag> ausgewählt wird und in eine Datei geschrieben wird zudem erstellt keine Dateien...

    Der Name der Zieldateien ist erstmal egal.

     

    Hier mein Code:

    # Variablen
     
    $src = 'C:\Inhalt.xml'
    $dst = 'C:\'
     
    # In Xml konvertieren, welches die Powershell versteht:
    $xml = '<file>'
    $xml += Get-Content $src
    $xml += '</file>'
    $xml = [xml]$xml
     
    # Aufteilen und exportieren
    $xml.file.tag | % {
        $filename = $_.Name.replace('Tag','Ziel')
        $value = $_.OuterXml
        Set-Content -Value $value -Path "$dst\$filename.xml"
    }

     

     

    zu Batch:

     

     

     

    Sieht nicht schlecht aus,aber wie schreibe ich die gefunden tags nun in verschiedene Dateien?

    Was bedeutet "token=1 delims=<>"

     

    hier die Ausgabe im CMD:

    
    C:\>for /F "tokens=1 delims=<>" %i in (C
    "
    
    C:\>echo Tag name = "Tag1"  | findstr "T
    Tag name = "Tag1"
    
    C:\>echo Modul name= "Modul1"  | findstr
    
    C:\>echo Data name= "Data1"  | findstr "
    
    C:\>echo /Modul  | findstr "Tag"
    
    C:\>echo /Tag  | findstr "Tag"
    /Tag
    
    C:\>echo Tag name = "Tag2"  | findstr "T
    Tag name = "Tag2"
    
    C:\>echo Modul name= "Modul2"  | findstr
    
    C:\>echo Data name= "Data2"  | findstr "
    
    C:\>echo /Modul  | findstr "Tag"
    
    C:\>echo /Tag  | findstr "Tag"
    /Tag
    
    C:\>echo Tag name = "Tag3"  | findstr "T
    Tag name = "Tag3"
    
    C:\>echo Modul name= "Modul3"  | findstr
    
    C:\>echo Data name= "Data3"  | findstr "
    
    C:\>echo /Modul  | findstr "Tag"
    
    C:\>echo /Tag  | findstr "Tag"
    /Tag
    
    C:\>pause
    Drücken Sie eine beliebige Taste . . .
  7. Danke für die Antworten.

     

    .rxtco wird von einem bestimmten Programm erstellt. Es kann als normale Textdatei behandelt werden.

     

    Es geht auch Powershell aber davon habe ich garkeine Ahnung.

     

    Habe jetzt mal eine kleine Beispiel-Datei angehängt.

     

    Diese soll nun in folgendes aufgesplittet werden:

     

    Ziel1.xml

    <Tag name = "Tag1">
    <Modul name= "Modul1">
    <Data name= "Data1"></Data>
    </Modul>
    </Tag>


    Ziel2.xml

    <Tag name = "Tag2">
    <Modul name= "Modul2">
    <Data name= "Data2"></Data>
    </Modul>
    </Tag>


    Ziel3.xml
    <Tag name = "Tag3">
    <Modul name= "Modul3">
    <Data name= "Data3"></Data>
    </Modul>
    </Tag>

    Inhalt.xml

  8. Beide Dateien befinden sich in C:

     

    Inhalt der Batch-Datei:

    for /f "tokens=*" %%i in (test.rxtco) do echo %%i|findstr "TestCase"
    pause

     

    CMD-Ausgabe:

    "<" ist syntaktisch an dieser Stelle nicht verarbeitbar.
    
    C:\>echo </TestModule>  | findstr "TestCase"
    Syntaxfehler.
    
    C:\>echo <TestModule name="LBasic_ClickButton">  | findstr "TestCase"
    Syntaxfehler.
    
    
    

     


     

  9. Hallo

    Ich habe da ein kleines Problem:

    Ich habe eine xml-Datei mit verschieden tags und würde den Inhalt mittels Batch-Datei von bestimmten tags gerne in andere xml-Dateien schreiben.


    z.B.

    Inhalt der xml-Datei:

    <tag>
    <hallo>
    </tag>

    <tag>
    <hallo2>
    </tag>

    <tag>
    <hallo3>
    </tag>


    Ziel: 3 xml-Dateien mit den einzelnen Inhalten. (jede xml-Datei mit einem tag)

    Viele Grüße ..

×
×
  • Neu erstellen...