Powershell Echo Statement + Variabila într-o singură linie (Programare, Powershell, Echo)

physlexic a intrebat.

Rulez un script și vreau ca acesta să tipărească un „statement + variabila + statement” la sfârșit [când are succes]. Am încercat câteva lucruri, dar întotdeauna se întoarce ca 3 linii separate, în loc de una singură. Echo „” înainte și după este doar pentru a face mai ușor de citit atunci când este tipărit prin spațiere, am încercat cu și fără și obțin același rezultat.

$filename = "foo.csv"

    echo ""
    echo "The file" $filename "has been processed."
    echo ""

Primesc acest lucru:

The file
foo.csv
has been processed.

Comentarii

  • Possible duplicate of Cum să concatenezi șiruri de caractere și variabile în PowerShell? –  > Por BioGenX.
3 răspunsuri
James C.

Dacă folosiți ghilimele duble, puteți face referire la variabilă direct în șirul de caractere, deoarece acestea permit extinderea variabilei, în timp ce ghilimelele simple nu permit acest lucru.

$filename = "foo.csv"
Write-Output "The file $filename has been processed."

-> The file foo.csv has been processed.

De asemenea, echo este de fapt doar un alias pentru Write-Output, așa că am folosit numele complet.

Comentarii

  • Deci, simplu. Am fost dezamăgit pentru că se face gri. Am crezut că este convertit în text simplu. Mulțumesc. –  > Por physlexic.
  • Cu siguranță vă recomand să citiți despre ghilimele duble vs ghilimele simple, un lucru atât de mic poate avea un efect foarte mare 🙂 –  > Por James C..
  • acest lucru nu funcționează corect cu $args[0] dacă acestea sunt puține – se tipărește toate arginții :/ – –  > Por Gorodeckij Dimitrij.
  • @GorodeckijDimitrij da, array-urile și șirurile de caractere trebuie să fie tratate diferit. –  > Por James C..
BioGenX

În powershell, puteți utiliza Write-Host după cum urmează:

$filename = "foo.csv"
Write-Host 'The file' $filename 'has been processed.'

-> The file foo.csv has been processed.

Comentarii

  • Atunci când scrieți un object apoi Write-Host vă va oferi tipul obiectului, nu și conținutul acestuia. Este mai bine să folosițiWrite-Output –  > Por Dr. Rob Lang.
tom
echo ("The file "+ $filename +" has been processed.")

Comentarii

  • Vă rugăm să adăugați o descriere la răspunsul dumneavoastră –  > Por Ankit Kante.