Script Batch - Stringhe
Introduzione alle Stringhe nello Scripting Batch
Ciao, futuri programmatori! Oggi esploreremo il meraviglioso mondo delle stringhe nello scripting Batch. Come il tuo amico insegnante di informatica del quartiere, sono entusiasta di guidarti in questo viaggio. Non preoccuparti se non hai mai scritto una riga di codice prima - inizieremo proprio dall'inizio!
Una stringa, in termini semplici, è una sequenza di caratteri. Può essere una parola, una frase o persino un intero paragrafo. nello scripting Batch, utilizziamo le stringhe tutto il tempo per visualizzare messaggi, memorizzare informazioni e manipolare testi.
Operazioni di Base sulle Stringhe
Visualizzare Stringhe
Iniziamo con l'operazione più basilare - visualizzare una stringa. In Batch, utilizziamo il comando echo
.
@echo off
echo Ciao, Mondo!
pause
Salva questo come hello.bat
e eseguielo. Vedrai "Ciao, Mondo!" visualizzato sullo schermo. L'uso di @echo off
all'inizio è una buona pratica per mantenere l'output dello script pulito, e pause
alla fine tiene la finestra aperta così puoi vedere il risultato.
Memorizzare Stringhe in Variabili
Ora, memorizziamo la nostra stringa in una variabile:
@echo off
set messaggio=Ciao, scripting Batch!
echo %messaggio%
pause
Qui, utilizziamo il comando set
per memorizzare la nostra stringa in una variabile chiamata messaggio
. Per utilizzare la variabile, la circondiamo con segni di percentuale.
Concatenazione di Stringhe
Unire stringhe (concatenazione) è un'operazione comune. In Batch, è semplice come metterle una accanto all'altra:
@echo off
set nome= Giovanni
set cognome=Doe
set nomeCompleto=%nome% %cognome%
echo Nome completo: %nomeCompleto%
pause
Questo script stamperà "Nome completo: Giovanni Doe". Nota come abbiamo aggiunto uno spazio tra %nome%
e %cognome%
per separarli.
Lavorare con l'Input dell'Utente
Rendiamo i nostri script interattivi ottenere input dall'utente:
@echo off
set /p nome=Qual è il tuo nome?
echo Piacere di conoscerti, %nome%!
pause
L'opzione /p
con set
ci permette di solicitare input dall'utente. Prova a eseguire questo script e inserisci il tuo nome!
Manipolazione delle Stringhe
Estrazione di Sottosequenze
Batch ci permette di estrarre parti di una stringa utilizzando la sintassi %variabile:~inizio,lunghezza%
:
@echo off
set messaggio=Ciao, Mondo!
echo %messaggio:~0,5%
echo %messaggio:~7,5%
pause
Questo stamperà:
Ciao
Mondo
Il primo echo
estrae i caratteri dalla posizione 0 alla 5, e il secondo dalla posizione 7 alla 5 caratteri dopo.
Sostituzione di Stringhe
Possiamo anche sostituire parti di una stringa:
@echo off
set frase=Il rapido fox salta sopra il cane pigro
echo %frase:fox=cat%
pause
Questo sostituisce "fox" con "cat" nella nostra frase.
Operazioni Avanzate sulle Stringhe
Lunghezza della Stringa
Batch non ha una funzione integrata per ottenere la lunghezza di una stringa, ma possiamo utilizzare un trucco intelligente:
@echo off
set stringa=Ciao, Mondo!
call :lunghezzaStr stringa lunghezza
echo La lunghezza di "%stringa%" è %lunghezza%
pause
goto :eof
:lunghezzaStr
setlocal enabledelayedexpansion
set "s=!%~1!"
set "lunghezza=0"
for %%N in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
if "!s:~%%N,1!" neq "" (
set /a "lunghezza+=%%N"
set "s=!s:~%%N!"
)
)
endlocal & set %~2=%lunghezza%
goto :eof
Questo script definisce una funzione :lunghezzaStr
che calcola la lunghezza di una stringa. È un po' complesso, ma mostra come possiamo creare strumenti potenti in Batch.
Conversione di Maiuscole e Minuscole
Batch non ha una conversione integrata di maiuscole e minuscole, ma possiamo utilizzare il comando for
con l'opzione /L
per ottenere questo risultato:
@echo off
set stringa=Ciao, Mondo!
call : Maiusc stringa risultato
echo Maiuscole: %risultato%
call : Minusc stringa risultato
echo Minuscole: %risultato%
pause
goto :eof
:Maiusc
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set %2=%%%2:%%a=%%a%%%
goto :eof
:Minusc
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do call set %2=%%%2:%%A=%%a%%%
goto :eof
Questo script definisce due funzioni: :Maiusc
e :Minusc
per la conversione di maiuscole e minuscole.
Conclusione
Complimenti! Hai appena fatto i tuoi primi passi nel mondo della manipolazione delle stringhe nello scripting Batch. Ricorda, la pratica rende perfetti, quindi non aver paura di sperimentare con questi concetti. Prova a combinare le diverse tecniche che abbiamo imparato oggi per creare i tuoi script unici.
Mentre chiudiamo, ecco una tabella che riassume le operazioni sulle stringhe che abbiamo coperto:
Operazione | Sintassi | Esempio |
---|---|---|
Visualizzare Stringa | echo stringa |
echo Ciao, Mondo! |
Memorizzare Stringa | set variabile=stringa |
set messaggio=Ciao |
Concatenazione | set risultato=%stringa1% %stringa2% |
set nomeCompleto=%nome% %cognome% |
Input Utente | set /p variabile=prompt |
set /p nome=Qual è il tuo nome? |
Sottosequenza | %variabile:~inizio,lunghezza% |
%messaggio:~0,5% |
Sostituzione | %variabile:vecchio=nuevo% |
%frase:fox=cat% |
Continua a programmare, continua a imparare, e soprattutto, divertiti con lo scripting Batch!
Credits: Image by storyset