Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 16e: due mesi e più di 500 foto. Ecco cosa abbiamo capito 
iPhone 16e: due mesi e più di 500 foto. Ecco cosa abbiamo capito 
iPhone 16e si posiziona come la porta d'ingresso più economica all'ecosistema Apple, offrendo un'esperienza essenziale ma completa con eccellente autonomia, chip A18 potente e compatibilità con Apple Intelligence, risultando ideale per utenti aziendali e per chi cerca uno smartphone affidabile che "vada al sodo".
MSI BE6500: nuova chiavetta USB per abilitare il supporto al WiFi 7 su qualsiasi PC
MSI BE6500: nuova chiavetta USB per abilitare il supporto al WiFi 7 su qualsiasi PC
MSI BE6500 è una chiavetta USB ad alte prestazioni che consente di abilitare il supporto al WiFi 7 su qualsiasi PC, anche datato, senza dover intervenire sull'hardware interno. Il dispositivo raggiunge una velocità massima di 5,8 Gbps, ed è pensato per offrire stabilità, reattività e prestazioni di nuova generazione, ideali per streaming, gaming e ambienti professionali
Recensione CMF by Nothing Phone 2 Pro: economico sì ma con stile. Best buy!
Recensione CMF by Nothing Phone 2 Pro: economico sì ma con stile. Best buy!
Il CMF Phone 2 Pro è uno smartphone pronto a ridefinisce gli standard della fascia media, offrendo un'esperienza premium a un prezzo accessibile, con un design industriale distintivo e personalizzabile che continua a differenziarlo in un mercato sempre più omologato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-10-2017, 18:51   #1
giacxyz
Junior Member
 
Iscritto dal: Oct 2017
Messaggi: 2
batch variabile numerica indefinita eliminazione

Buongiorno,
sono nuovo del forum e spero di avere inserito il problema nel forum corretto.

Sto lavorando ad un batch con sistema win xp pro sp3.

Ho provato a cercare in rete per il mio problema ma le risposte non sono soddisfacenti.

In molti forum si dice che per effettuare una delete di una variabile esistente e già valorizzata sia sufficiente scrivere set /a var=

Il problema sorge quando, vedi il codice più sotto, provo a testare l'annullamento della variabile, la risposta del sistema è che la variabile è ancora valorizzata e questo:

(a) sia quando effettuo il test con un echo
(b) sia quando provo a reindirizzare il comando set su un file

(1) Da <echo [01]> mi aspetterei un <null> oppure <undefine> o q.sa di simile.
(2) Da <set z > C:\WINDOWS\system32\zCONTAINER_0*.txt> mi aspetterei un file vuoto

Idem se eseguo il codice con setlocal enabledelayedexpansion ... endlocal,
unica differenza, chiaramente, è che essendo la variabile locale il comando set da console risponde con: Variabile di ambiente z non definita, ma i due file creati dalla redirezione sono entrambi valorizzati.

La cosa strana è che, con lo stesso codice, ma dichiarando una variabile letterale <set zVarNum=aaa> anzichè una numerica, tutto è corretto.

Grazie anticipatamente.

:--------------------------------------------------------con variabile numerica
@echo off
set /a zVarNum=1
echo [00]: %zVarNum%
set z > C:\WINDOWS\system32\zCONTAINER_00.txt
set /a zVarNum=
echo [01]: %zVarNum%
set z > C:\WINDOWS\system32\zCONTAINER_01.txt
@echo on

OUTPUT CONSOLE:
C:\WINDOWS\system32>ztest00.bat
[00]: 1
Operando mancante.
[01]: 1
C:\WINDOWS\system32>

OUTPUT COMANDO SET SU CONSOLE (post esecuzione):
C:\WINDOWS\system32>set z
zVarNum=1
C:\WINDOWS\system32>

OUTPUT DI: set z > C:\WINDOWS\system32\zCONTAINER_00.txt |---|> File creato e valorizzato con: zVarNum=1
OUTPUT DI: set z > C:\WINDOWS\system32\zCONTAINER_01.txt |---|> File creato e valorizzato con: zVarNum=1



:--------------------------------------------------------con variabile letterale
@echo off
set zVarNum=aaa
echo [00]: %zVarNum%
set z > C:\WINDOWS\system32\zCONTAINER_00.txt
set zVarNum=
echo [01]: %zVarNum%
set z > C:\WINDOWS\system32\zCONTAINER_01.txt
@echo on


OUTPUT CONSOLE:
C:\WINDOWS\system32>ztest00.bat
[00]: aaa
[01]:
Variabile di ambiente z non definita
C:\WINDOWS\system32>


OUTPUT COMANDO SET SU CONSOLE:
C:\WINDOWS\system32>set z
Variabile di ambiente z non definita
C:\WINDOWS\system32>

OUTPUT DI: set z > C:\WINDOWS\system32\zCONTAINER_00.txt |---|> File creato e valorizzato con: zVarNum=aaa
OUTPUT DI: set z > C:\WINDOWS\system32\zCONTAINER_01.txt |---|> File creato e non valorizzato
giacxyz è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2017, 15:08   #2
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8694
Codice:
@ECHO OFF
SET /a zVarNum=1
ECHO [00]: %zVarNum%
ECHO > "C:\zCONTAINER_0%zVarNum%.txt"
SET zVarNum=
ECHO [01]: %zVarNum%
ECHO > "C:\zCONTAINER_0%zVarNum%.txt"
PAUSE
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2017, 13:42   #3
giacxyz
Junior Member
 
Iscritto dal: Oct 2017
Messaggi: 2
Grazie per la risposta, ormai temevo di non trovare un help per il mio problema,
non capisco però il rapporto tra lo stato di attivazione\disattivazione del comando ECHO e il problema postato,
se eseguo lo stesso script modificando da @ECHO OFF a @ECHO ON il risultato è cmq. lo stesso.

Se può servire, aggiungo che ho provato anche con if defined … ma il risultato non cambia,
vedere la riga di output [08]…
Insomma la riga set /a zzNum=
non ha nessun effetto mentre la “deassegnazione”
set zzStr=
produce l’effetto desiderato vedi output [11]…

@echo off
setlocal enabledelayedexpansion
set /a zzNum=
set zzStr=
if defined zzNum (echo [00]zzNum IS defined) ELSE (echo [01]zzNum is NOT defined)
if defined zzStr (echo [02]zzStr IS defined) ELSE (echo [03]zzStr is NOT defined)
set /a zzNum=3
set zzStr=pippo
if defined zzNum (echo [04]zzNum IS defined) ELSE (echo [05]zzNum is NOT defined)
if defined zzStr (echo [06]zzStr IS defined) ELSE (echo [07]zzStr is NOT defined)
set /a zzNum=
set zzStr=
if defined zzNum (echo [08]zzNum IS defined) ELSE (echo [09]zzNum is NOT defined)
if defined zzStr (echo [10]zzStr IS defined) ELSE (echo [11]zzStr is NOT defined)
endlocal
@echo on

OUTPUT CONSOLE:

C:\Documents and Settings\giac>zztest02.bat
Operando mancante.
[01]zzNum is NOT defined
[03]zzStr is NOT defined
[04]zzNum IS defined
[06]zzStr IS defined
Operando mancante.
[08]zzNum IS defined
[11]zzStr is NOT defined
C:\Documents and Settings\giac>

Ultima modifica di giacxyz : 31-10-2017 alle 16:14. Motivo: precisazione
giacxyz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 16e: due mesi e più di 500 foto. Ecco cosa abbiamo capito  iPhone 16e: due mesi e più di 500 foto. E...
MSI BE6500: nuova chiavetta USB per abilitare il supporto al WiFi 7 su qualsiasi PC MSI BE6500: nuova chiavetta USB per abilitare il...
Recensione CMF by Nothing Phone 2 Pro: economico sì ma con stile. Best buy! Recensione CMF by Nothing Phone 2 Pro: economico...
Sony ULT Field 5: potenza, portabilità e semplicità per animare qualsiasi festa Sony ULT Field 5: potenza, portabilità e ...
Lenovo ThinkPad X9-14 Aura Edition: leggero e sottile per i professionisti Lenovo ThinkPad X9-14 Aura Edition: leggero e so...
Sonos Arc Ultra: con il driver SoundMoti...
XPG Mars 980: SSD con velocità fi...
Microsoft Work Trend Index 2025. I nuovi...
Ubisoft si ricorda dell'esistenza di Pla...
Tesla presenta la super ricarica da 1,2 ...
DOOM: The Dark Ages, NVIDIA ci scommette...
Google Play Store, maxi-pulizia: elimina...
Operatori virtuali in Italia, sono davve...
Borderlands 4 è stato…anticipato,...
Radeon RX 9060 XT: presentazione al Comp...
Meta rilascia l'app di Meta AI: si espan...
Clair Obscur: Expedition 33 diventer&agr...
Addio a un mito dei droni, finisce l'era...
iPhone: RAM ultra veloce solo nel 2026, ...
Huawei potenzia i sensori TruSense e Sup...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:54.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www1v