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!

Batch Script - Strings

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