Risultati da 1 a 10 di 10

Discussione: Semplice domanda per un .bat

Visualizzazione Ibrida

Messaggio precedente Messaggio precedente   Nuovo messaggio Nuovo messaggio
  1. #1
    L'avatar di Lomion
    Title
    Esperto
    Data Registrazione
    Dec 2007
    Età
    40
    Messaggi
    1,396

    Predefinito

    Ciao!

    Puoi usare il comando "for" di DOS per fare quello che ti interessa:

    Windows 2000 and XP syntax
    Runs a specified command for each file in a set of files.
    FOR %variable IN (set) DO command [command-parameters]

    %variable Specifies a replaceable parameter.
    (set) Specifies a set of one or more files. Wildcards may be used.
    command Specifies the command to carry out for each file. command-parameters Specifies parameters or switches for the specified command.

    In pratica fai due for uno dentro l'altro dove il primo ti cambia la lettera e il secondo il numero. li infili nel bat e lo esegui.
    Tutto sulla stessa riga
    E adesso aspetterò domani per avere nostalgia
    signora libertà signorina anarchia
    così preziosa come il vino così gratis come la tristezza, con la tua nuvola di dubbi e di bellezza.

  2. #2
    L'avatar di Computerboy
    Title
    Pro
    Data Registrazione
    Dec 2007
    Età
    36
    Messaggi
    2,750

    Predefinito

    Ottimo
    Allora per il comando for c'è anche l'help di MS-DOS che si avvia tramite for /?

    Per ora sono arrivato a scrivere una stringa del tipo (con il prezioso aiuto di Lomion ):
    Codice:
    for /L %%i IN (26,1,28) DO for %%j IN ("A";"B";"C") DO cod.exe 8809%%i_%%j.DAT %%i_%%j.txt
    che racchiude tutti i giorni da 26 a 28 e per ognuno di essi le lettere A,B,C.
    Tuttavia questa sintassi sputa fuori output .txt fasulli in corrispondenza di .dat non esistenti........vedrò di migliorarla in qualche modo...
    Ultima modifica di Computerboy; 09-10-2008 alle 09:07



  3. #3
    L'avatar di Computerboy
    Title
    Pro
    Data Registrazione
    Dec 2007
    Età
    36
    Messaggi
    2,750

    Predefinito

    Stamattina ho messo anche la condizione IF EXIST se il file. dat esiste o meno:
    la sintassi tipo è questa " IF EXIST filename. (del filename.) ELSE echo filename. missing "

    Il comando .bat che è scritto è stato questo:
    Codice:
    for /L %%i IN (1,1,31) DO for %%j IN ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O") DO IF EXIST 8809%%i_%%j.DAT. cod.exe 8809%%i_%%j.DAT 8809%%i_%%j.txt
    cioè per i giorni da 1 a 31 e per alcune delle lettere dell'alfabeto
    Ovviamente è un ciclo molto "largo" ma tanto per i dati che non trova non esce nessun output quindi va bene così



  4. #4
    L'avatar di Lomion
    Title
    Esperto
    Data Registrazione
    Dec 2007
    Età
    40
    Messaggi
    1,396

    Predefinito

    Sono contento che ce tu ce l'abbia fatta
    Se non hai altri problemi o "avanzamenti" chiuderei...
    E adesso aspetterò domani per avere nostalgia
    signora libertà signorina anarchia
    così preziosa come il vino così gratis come la tristezza, con la tua nuvola di dubbi e di bellezza.

  5. #5
    L'avatar di Computerboy
    Title
    Pro
    Data Registrazione
    Dec 2007
    Età
    36
    Messaggi
    2,750

    Predefinito

    Citazione Originariamente Scritto da Lomion Visualizza Messaggio
    Sono contento che ce tu ce l'abbia fatta
    Se non hai altri problemi o "avanzamenti" chiuderei...
    Ehi il tuo aiuto è stato grandioso....
    Penso che qualche upgrade lo posso ancora implementare, sto vedendo di mettere un ciclo for per anche per i mesi e anche qualche cosa da visualizzare a schermo (dovrò usare echo suppongo)
    Se ci sono miglioramenti li posterò



  6. #6
    L'avatar di Computerboy
    Title
    Pro
    Data Registrazione
    Dec 2007
    Età
    36
    Messaggi
    2,750

    Predefinito

    Aggiornamento:
    Codice:
    for /L %%m IN (0,1,1) DO for /L %%n IN (0,1,9) DO for /L %%i IN (0,1,3) DO for /L %%k IN (0,1,9) DO 
    for %%j 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 
    IF EXIST 88%%m%%n%%i%%k_%%j.DAT. cod.exe 88%%m%%n%%i%%k_%%j.DAT 88%%m%%n%%i%%k_%%j.txt
    Il programma di prima aveva un bug. Dato che lo strumento non scrive come nome dei file sorgente il 9 settembre come 99 ma 0909 quindi per un anno fisso ci sono volute ben quattro diverse variabili.
    Non penso di voler inserire un ciclo for per gli anni perchè il programma deve eseguire già molti controlli così, e il processo è non così istantaneo
    Vedrò di inserire qualche scritta a schermo e poi rilascerò la prima versione beta



  7. #7
    L'avatar di Computerboy
    Title
    Pro
    Data Registrazione
    Dec 2007
    Età
    36
    Messaggi
    2,750

    Predefinito

    Raga sembra che la versione fatta sia stabile e per ora ha dato risultati sempre corretti
    L'unica cosa è: mi hanno chiesto se per due o più txt relativi allo stesso giorno (esempio: 880909_A e 880909_B) si può creare un txt solo che contenga il primo e il secondo in coda......
    La vedo impossibile usando dos



Discussioni Simili

  1. domanda per Asus P5K-SE
    Di LowSlow nel forum Schede Madri & Ram
    Risposte: 12
    Ultimo Messaggio: 28-08-2008, 13:12
  2. Cellulare semplice ed economico: HELP!!
    Di adexxx88 nel forum Telefonia e Palmari
    Risposte: 7
    Ultimo Messaggio: 11-08-2008, 20:46
  3. Domanda su antivirus FREE
    Di Pickwick85 nel forum Virus & Sicurezza
    Risposte: 11
    Ultimo Messaggio: 28-05-2008, 16:11
  4. Domanda sulla rete Wireless
    Di djpeppe18 nel forum Network & Connessioni
    Risposte: 5
    Ultimo Messaggio: 02-05-2008, 08:46

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •