Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
[Risolto]Windows 11-Problemi a utilizzare il terminale DOS per operazioni matematiche
#1
Salve a tutti.
Siccome il mio ultimo acquisto con Windows 11 sembra non aver nulla da invidiare ai miei precedenti PC con Linux, ho deciso di approfondire la conoscenza del DOS.
Il primo problema in cui mi sono imbattuto, sono i calcoli matematici con le variabili.
Per esempio: se imposto le variabili e chiedo al DOS di eseguire una somma, ottengo
Codice:
C:\Users\MiniPC>SET /A A=5
5
C:\Users\MiniPC>SET /A B=3
3
C:\Users\MiniPC>SET /A C=A+B
8
C:\Users\MiniPC>ECHO %A% + %B% = %C%
5 + 3 = 8

C:\Users\MiniPC>

quindi il DOS sembra fare quello che gli chiedo, ma se, subito dopo aver aperto la shell bash, impartisco due volte di seguito i comandi suddetti riuniti in un'unica riga, la prima volta compare il contenuto numerico di ciascuna variabile seguito dalle variabili trattate come stringhe, e la seconda volta compare il contenuto numerico di ciascuna variabile seguito da ciò che mi aspetto che appaia.
Posto l'output per chiarire la situazione.
Codice:
C:\Users\MiniPC>SET /A A=5 & SET /A B=3 & SET /A C=A+B & ECHO %A% + %B% = %C%
538%A% + %B% = %C%

C:\Users\MiniPC>SET /A A=5 & SET /A B=3 & SET /A C=A+B & ECHO %A% + %B% = %C%
5385 + 3 = 8

C:\Users\MiniPC>
Ciò che vorrei sapere è come avrei dovuto fare per impartire il comando 
Codice:
SET /A A=5 & SET /A B=3 & SET /A C=A+B & ECHO %A% + %B% = %C%
in modo da ottenere come output
Codice:
5 + 3 = 8

Ringrazio sin d'ora chi mi aiuterà.
Cita messaggio
#2
https://it.comp.aiuto.narkive.com/8SkO9X...omandi-dos
Penso che come dicono qui occorra concatenare all' interno di un eseguibile BAT
Cita messaggio
#3
Codice:
SET a=5 & SET b=3 & SET /a c=a+b > nul 2>&1 & echo. & ECHO %a% + %b% = %c%

Così dovrebbe andare, se vuoi i comandi su una sola riga

Il nul è per non far apparire il risultato del set /a, non serve set /a per assegnare un valore semplice ad una variabile

echo. da solo è per andare a capo, seguito da qualcosa mette uno spazio

Altra variante:
Codice:
SET /a a=5, b=3, c=a+b > nul 2>&1 & echo. & call ECHO. %a% + %b% = %c%
Un unico set per tutte le variabili, e il comando call per far apparire subito il risultato, altrimenti appare al secondo tentativo
Cita messaggio
#4
(28/12/2023, 23:49)bobo779256 Ha scritto:
Codice:
SET a=5 & SET b=3 & SET /a c=a+b > nul 2>&1 & echo. & ECHO %a% + %b% = %c%

Così dovrebbe andare, se vuoi i comandi su una sola riga

Il nul è per non far apparire il risultato del set /a, non serve set /a per assegnare un valore semplice ad una variabile

echo. da solo è per andare a capo, seguito da qualcosa mette uno spazio

Altra variante:
Codice:
SET /a a=5, b=3, c=a+b > nul 2>&1 & echo. & call ECHO. %a% + %b% = %c%
Un unico set per tutte le variabili, e il comando call per far apparire subito il risultato, altrimenti appare al secondo tentativo
Ti ringrazio tantissimo.
L'istruzione
Codice:
SET /a a=5, b=3, c=a+b > nul 2>&1 & echo. & call ECHO. %a% + %b% = %c%
è esattamente ciò che mi serviva!
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)