Vai al contenuto
PLC Forum


Msdos, Questo Sconosciuto....


blakmagik73

Messaggi consigliati

cioa a tutti vorrei porvi un quesito sul mitico sistema ms-dos

avrei bisogno di modificare un file autoexec.bat in maniera che a partire da una certa data esegua un altro tipo di operazioni all'avviamento del pc......qualcuno ha' dimestichezza con questo vecchio predecessore di tutti i sistemi operativii???

grazie per l'intersamanto ciao.

Link al commento
Condividi su altri siti


certo scalzomen, e' li' che mi pianto, nel senso che sto' crecando un comando da inserire dentro l'autoexec.bat che mi faccia una specie di comparazione tra data attuale e una data x che voglio inserire io, poi dal risultato della comparazione faccio una cosa o l'altra.

Link al commento
Condividi su altri siti

ciao ! smile.gif

In effetti il comando batch 'If' fa la comparazione

Non puoi pretendere della vera programmazione dai comandi Batch.

comunque devi usare il comando set per associare uad una variabile la date

la compari col comando IF se vera fai una cosa se falsa ne fai un'altra.

Premetto non l'ho provata comunque adesso mi levo un po di ruggine e ci do un'occhiata.

Che tempi !!! quando ancora si programmava in Pascal e Cobol !!! per non parlare appunto dei file Batch !!!

Link al commento
Condividi su altri siti

DIMENTICAVO !!!!

Su che sistema devi implementarlo ???

Te lo chiedo perche le variabili di sistema (quella che dovrai usare tu)

non puoi inserirle nel file Config.sys come si faceva una volta ma esiste

a sexconda del sis Op. che usi metodi differenti !!

Ciao !! se vuoi scendere nei dettagli fammi sapere .. mo provo se posso associare la data ad una varibile d'ambiente !!.

Link al commento
Condividi su altri siti

Ok !!

cool.gif

Dovro rovistare tra i vecchi libri ms-dos.

Se vuoi ho ancora la versione 2.0 del dos laugh.gif

Per vedere la funzione dei comandi devi scrivere

comando /?

a seconda della versione dos cambia qualcosa NON mi chiedere cosa

visto che son passati parecchi anni !!!!.

esempio inizia con set /?

se vuoi inserire qualcosa da tastiera e assagnarla ad una variabile scrivi

set /P inputast=

ti chiede di inserire da tastiere e il valore va su inputast(la nostra variabile)

per inserirci la data e poter fare

if [%­imputast%]==[27-08-2020] GOTO alla riga che vuoi

Devo vedere se il comando set dataattuale=date mi 'cattura' la data per poi compararla.

ma dovrei installare il dos !!! e non ho ancora installato la mia Virtual machine per farlo.

adesso vedo di fare il listato completo sperando che a te lo accetti !!!

Link al commento
Condividi su altri siti

tongue.gif

Ok dovrebbe funzionare !!

Prima di tutto guarda In questo LINK dove trovi alcune spiegazioni

per saltare ai vari comandi usa GOTO

per comparare la data scrivi

if [%date%]==[13/10/2010] goto faiilcomando1

goto comando2

comando1:

quà fai le operazioni se la data corrisponde

goto end

:comando2

altrimenti continua qua sotto col comando2 se la data è diversa

metti i vari comandi e poi

GOTO end

:end

spero che funzioni !!

Usa l'. che ti aiuta es: goto /?

Fammi sapere se è la soluzione giusta o quella che hai eventualmente usato può servire ad altri lettori !!

CIAO !!! wink.gif a Domani

Modificato: da TeleMan
Link al commento
Condividi su altri siti

grazie, molto gentile, allora credo che mi cimentero' in questo lavoro il fine settimana.....un ultima domanda, la comparazione funziona solo con == o anche con =>, perche non dimentichiamoci che l'autoexec.bat si effettua solo una volta all'avvio del pc, quindi se lo riavvio in data posteriore cosa succedera??? da questo la domanda del magggiore o uguale....comunque nel fine settimana provo.grazie mille

Link al commento
Condividi su altri siti

Considera la data come una stringa, quindi il maggiore o uguale è riferito alla corrispondenza ASCII della stringa che rappresenta la data, quindi qualsiasi confronto deve limitarsi all'uguaglianza esatta (quindi anche il formato della data è basilare)

Altra cosa, il GOTO funziona se la label è la stessa, ovvero "faiilcomando1" non è "comando1" e "comando1:" non è una label, che va invece indicata come ":comando1"

Però puoi usare il seriale della data, in questo caso diviene un numero e puoi fare il confronto con il maggiore o uguale, ma probabilmente dovrai fare un passaggio intermedio con altri files dove registrare i dati da trattare prima e dopo la conversione.

Un piccolo aiuto in rete: Guida ai batch files del DOS

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...