Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    procedura bach come correggere una stringa

    Salve signori,
    Sono ad esporre una problematica che penso sia abbastanza strana.

    La procedura bach che vedete sotto

    @echo off
    cls
    set CARTE=M:\CACCAV\
    set ARCHIVIO=MOMEQ
    set DataOraFile=%DATA:~6,4%_%DATA:~3,2%_%DATA:~0,2%
    set NOME=%ARCHIVIO%_%DataOraFile%
    set DataOraFile=%ORA:~0,2%_%ORA:~3,2%_%ORA:~6,2%
    set NOME=%NOME%_%DataOraFile%
    copy %CARTE%\%ARCHIVIO%.DAT %CARTE%\%ARCHIVIO%
    copy %CARTE%\%ARCHIVIO%.DAT %CARTE%\%NOME%
    rem del %CARTE%\%ARCHIVIO%.DAT
    set CARTE=
    set ARCHIVIO=
    set DataOraFile=
    set NOME=
    exit

    serve per copiare il file MOMEQ in MOMEQ data ora (storico elaborazioni) MOMEQ (file utilizzato per altre elaborazioni).

    Però può succere in funzione del giorno del mese e dell’ora di elaborazione che alcuni valori vengano interpretati male, come ad esempio nel case della data se l’elaborazione avviene nel giorno 8 o nel giorno 10 il nome del file salvato a fini storici verrebbe costruito con caratteri spazio nel nome e quindi non verrebbe copiato.

    potrebbe diventare "PIPPO_2017_11_10" o "PIPPO_2017_11_ 8"

    Qualcuno di voi sa, o ha idea di come sia possibile (sempre sia possibile) correggere questa cosa?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    523
    è un codice che uso da sempre,
    programmando in DOS ....
    prova così
    codice:
    @echo off
    cls
    set myDate=%date%**
    if %myDate:~8,2%==** (
       set myDate=20%myDate:~6,2%%myDate:~3,2%%myDate:~0,2%
    ) ELSE (
       set myDate=%myDate:~6,4%%myDate:~3,2%%myDate:~0,2%
    )
    
    set myTime=%time%
    if "%myTime:~0,1%"=="1" goto :TimeOk
    if "%myTime:~0,1%"=="2" goto :TimeOk
    set myTime=0%myTime:~1%
    :TimeOk
    set myTime=%myTime:~0,2%%myTime:~3,2%%myTime:~6,2%
    
    set CARTE=M:\CACCAV\
    set ARCHIVIO=MOMEQ
    
    set NOME=%ARCHIVIO%_%myDate%_%myTime%
    
    copy %CARTE%\%ARCHIVIO%.DAT %CARTE%\%ARCHIVIO%
    copy %CARTE%\%ARCHIVIO%.DAT %CARTE%\%NOME%
    rem del %CARTE%\%ARCHIVIO%.DAT
    
    set myDate=
    set myTime=
    set CARTE=
    set ARCHIVIO=
    set NOME=
    
    exit /b

  3. #3
    Una bomba!!!!!!!!!

    Grazie marino

  4. #4
    Ciao Marino
    "sei un mitooooooooo per me"

    Pensa che in ufficio mi hanno preso per uno che ne sa.... semplicemente facendo un copie e incolla....è un mondo difficile.

    Saluti e alla prossima... tanto ci sarà sicuramente l'occasione, ..... oggi mi hanno detto che potrò andare in pensione nel 34 ho iniziato a lavorare nel 78....Auguri a tutti gli informatici....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.