Du må kanskje konvertere strengene dine til en enkelt linje for å erstatte dem
- Å skrive PowerShell-skript kan være svært nyttig for å automatisere oppgaver, men det kan være vanskelig å søke over alt for å erstatte flere tekstlinjer.
- Med noen få kommandoer viser vi deg hvordan du oppnår dette uten å måtte bruke ekstra verktøy.
XINSTALLER VED Å KLIKKE LAST NED FILEN
- Last ned DriverFix (verifisert nedlastingsfil).
- Klikk Start søk for å finne alle problematiske drivere.
- Klikk Oppdater drivere for å få nye versjoner og unngå systemfeil.
- DriverFix er lastet ned av 0 lesere denne måneden.
Windows PowerShell er et av de kraftigste kommandolinjeverktøyene i operativsystemet. Problemet er imidlertid at brukerne har liten eller ingen informasjon om dens omfattende evner. For eksempel kan PowerShell finne og erstatte flere tekstlinjer i en fil.
Dette er flott for mange ting, inkludert å endre kodebasen din på tvers av flere filer. I denne artikkelen vil vi forklare hvordan du erstatter flere tekstlinjer i en fil ved hjelp av PowerShell.
Hvorfor må jeg erstatte flere linjer i PowerShell?
Flere linjer i PowerShell er en fin måte å gjøre skriptene dine mer lesbare. De er også nyttige når du vil bruke én setning på flere linjer, men ikke vil dele den opp i flere setninger.
I programmering betyr flere linjer å skrive en enkelt kommando eller instruksjon på to eller flere linjer.
Du lurer kanskje på hvorfor vi trenger flere linjer. Den mest åpenbare grunnen er for lesbarhetsformål og for å unngå feil mens du skriver lange kommandoer én etter én.
Vi kan bruke flere linjer når vi har mer enn én kommando som skal utføres samtidig. Det gjør koden vår mer lesbar og lettere å forstå for andre.
Selv om alt dette er flott, foretrekker noen brukere å erstatte flere linjer i PowerShell. Det er ikke vanskelig å bytte ut en linje om gangen, men det blir vanskelig og tidkrevende når det gjelder å bytte ut flere linjer samtidig.
Hvordan erstatter jeg en linje i PowerShell?
Erstatt-operatøren i PowerShell er en praktisk måte å erstatte en streng med en annen streng. For eksempel, hvis du vil erstatte alle forekomster av ordet "test" med ordet "eksamen", kan du bruke følgende kommando:
PS> "test" -Erstatt "test", "eksamen"
Erstatt-metoden har to parametere:
- Søkestrengen du vil finne.
- Erstatningsstreng som du vil bruke i stedet for søkestrengen.
Fra eksemplet ovenfor kan du allerede se at det vil være tidkrevende hvis du skulle finne og erstatte flere linjer.
For å erstatte flere linjer, må du bruke Regex-kommandoen. PowerShell regex-kommandoen har to parametere:
- Kamp – Lar deg spesifisere et mønster du skal søke etter i inndatastrengen. Du kan også angi flere mønstre atskilt med komma.
- Erstatte – Erstatter alle forekomster av det spesifiserte samsvaret med den angitte erstatningsverdien.
Det har imidlertid noen begrensninger. Den kan bare erstatte den første forekomsten av en kamp innenfor en linje. Løsningen vil være å konvertere koden til en flerlinjet streng.
Når du konverterer den, vil PowerShell behandle hele inngangen som en enkelt streng, noe som gjør det enklere å erstatte.
1. Konverter streng
- Slå den Windows nøkkel, skriv Kraftskall i søkefeltet, og klikk Kjør som administrator.
- Du kan bruke den rå bryteren til å konvertere flere linjer til én streng i PowerShell. Når du bruker -raw-bryteren, må du spesifisere filnavnet.
- For å konvertere, bruker du for eksempel følgende kommando:
Get-Content C:\user\test1.txt -Raw
- Dette inkluderer filplasseringen og filnavnet.
2. Match streng
Match-parameteren er utformet for å finne ett eller flere tegn som samsvarer med et spesifisert mønster.
For eksempel, hvis du vil finne alle ordene som begynner med "c", i strengen din, kan du bruke følgende kommando:
[regex]::matches("c*") | hvor-objekt{$_ -som "*c*"}
- Hvordan enkelt omgå Netflix-passorddeling
- Hva er Mobsync.exe og hvordan deaktiverer du det
- Slik aktiverer du Windows Update i registeret [Hurtige trinn]
3. Bytt ut linjer
Når du har funnet kampene der du vil erstatte, kan du utføre erstatningskommandoen som følger:
PS> [regex]::Replace($str, "c", "d")
PowerShells finn og erstatt-metode kan være svært nyttig for mer tekniske brukere. Forhåpentligvis, med dette innlegget, har vi fått en ganske solid oversikt over hvordan du finner og erstatter en enkelt linje ved å bruke PowerShell-prompten.
Vi vet nå at det kan oppnås med relativ letthet og at kommandostrukturen ikke er så vanskelig å følge. Hvis du er nybegynner, gjør øvelse mester.
Andre nyttige PowerShell-parametere du kan være interessert i inkluderer MaktShelvete ErrorAction, som vi har diskutert i detalj.
De Try-Catch-blokk kan også være verdt tiden din, spesielt hvis du vil fange opp eventuelle feil i koden din.
Legg gjerne til dine egne tips om annen nyttig informasjon vi kan ha utelatt.
Har du fortsatt problemer? Løs dem med dette verktøyet:
SPONSERT
Noen driverrelaterte problemer kan løses raskere ved å bruke et dedikert verktøy. Hvis du fortsatt har problemer med driverne, er det bare å laste ned DriverFix og få den i gang med noen få klikk. Etter det, la det ta over og fikse alle feilene dine på kort tid!