none
Replace Questionmark RRS feed

  • Frage

  • Hallo,

    ich veruche einem Shellscript folgendes zu tun

    $var = $var -replace "\?" , "/"

    Das funtioniert auf dem cli. Aber wenn ich es einem script aufrufe erkennt er das Fragezeichen nicht.

    Hab ihr da eine Idee

    Donnerstag, 29. November 2012 09:22

Antworten

  • $Var = 'Willy' + [Char]63743 + 'Bald'
    $Var = $Var.Replace([Char]63743,'-')
    $Var
    
    # oder
    
    $Var = 'Willy' + [Char]63743 + 'Bald'
    $Var = $Var -Replace [Char]63743,'-'
    $Var


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Thomas Al Donnerstag, 29. November 2012 12:37
    Donnerstag, 29. November 2012 12:37
  • # Beispiel
    
    [char[]]"Willibald?" | ForEach-Object { ($_ + " ist in ASCII = " + [String][Int]$_) }
    
    # ASCII der Variable $Var anzeigen:
    
    [char[]]$var | ForEach-Object { ($_ + " ist in ASCII = " + [String][Int]$_) }


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Thomas Al Donnerstag, 29. November 2012 12:32
    Donnerstag, 29. November 2012 12:19
  • Gelöst:

    Replace([char]63743,"/")

    Super Super Danke

    • Als Antwort markiert Thomas Al Donnerstag, 29. November 2012 12:32
    Donnerstag, 29. November 2012 12:32

Alle Antworten

  • Hi Thomas,

    bin jetzt auch nicht so der Crack aber ersetze mal deine " mit ' (Hochkommma).

    VG, Thomas

    Donnerstag, 29. November 2012 11:18

  • Ich glaube das war Blödsinn

    bin jetzt auch nicht so der Crack aber ersetze mal deine " mit ' (Hochkommma).

    Bei mir klappt folgendes:

    $var = $var.Replace("\?" , "/")


    Donnerstag, 29. November 2012 11:32
  • Hallo,

    ich habe herausgefunden, dass Zeichen was ich auf dem cli sehe nicht das ist was auch in der Variablen im Script steckt. Powershelscripte nutzen UTF16, daher auf dem cli wird dieses Zeichen interpretiert und es ist nicht dass Zeichen was dort einhalten ist. Daher muss ich einen Weg finden den UTF16 Inhalt meiner Variablen in ASCII umzuwanden und dann zu suchen.#

    Danke

    Donnerstag, 29. November 2012 11:58
  • # Beispiel
    
    [char[]]"Willibald?" | ForEach-Object { ($_ + " ist in ASCII = " + [String][Int]$_) }
    
    # ASCII der Variable $Var anzeigen:
    
    [char[]]$var | ForEach-Object { ($_ + " ist in ASCII = " + [String][Int]$_) }


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Thomas Al Donnerstag, 29. November 2012 12:32
    Donnerstag, 29. November 2012 12:19
  • Hallo,

    das passt schon mal Super. Aber wie bekomme ich dieses Zeichen mit einem Replace weg (Übrigen ASCII 63743) ist das Zeichen

    Danke

    Donnerstag, 29. November 2012 12:25
  • Gelöst:

    Replace([char]63743,"/")

    Super Super Danke

    • Als Antwort markiert Thomas Al Donnerstag, 29. November 2012 12:32
    Donnerstag, 29. November 2012 12:32
  • $Var = 'Willy' + [Char]63743 + 'Bald'
    $Var = $Var.Replace([Char]63743,'-')
    $Var
    
    # oder
    
    $Var = 'Willy' + [Char]63743 + 'Bald'
    $Var = $Var -Replace [Char]63743,'-'
    $Var


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Thomas Al Donnerstag, 29. November 2012 12:37
    Donnerstag, 29. November 2012 12:37