Stata:Puoi salvare automaticamente un file. do con un timestamp ogni volta che esegui quel file. do nell'editor di file do?

StackOverflow https://stackoverflow.com//questions/20007232

  •  20-12-2019
  •  | 
  •  

Domanda

Mi sono chiesto se sarebbe possibile salvare automaticamente un file .do in modo che contenga un timestamp che corrisponda al timestamp sul file di registro che creo all'interno del file .do.Ad esempio, inizio ogni file. do che devo assomigliare a questo:

#delimit ;
capture log close;
display _n(250);

*******Sets up the log for the output;
local a1=substr(c(current_time),1,2);
local a2=substr(c(current_time),4,2);
local a3=substr(c(current_time),7,2);
local b =       c(current_date);

log using "H:\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\Monitoring for macs\Log\BPA Log (`b')`a1'_`a2'_`a3'",  t;

<rest of the program>

display "Start: `starttime'";
display "End: " "$S_TIME";
log close;

C'è qualcosa che posso aggiungere alla fine del programma che salverebbe il file. do che ho appena eseguito (nell'editor di file. do) con un timestamp (in modo da poter abbinare il codice al registro)?

Ad esempio, attualmente ho il file:

"K:\Common\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\BenefitPeriodAnalysis\code\Benefit period analysis (Code).do"

Sarebbe bello se ogni volta che eseguo il file .do salvasse:

"K:\Common\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\BenefitPeriodAnalysis\code\Benefit period analysis (Code)(`b')`a1'_`a2'_`a3'.do"   

[O qualche variazione]

È stato utile?

Soluzione

Puoi sempre fare quanto segue per avere un tipo di controllo delle versioni davvero smussato:

Supponiamo che tu stia operando da un file master .do:

"K:\...\Benefit period analysis (Code).do"

Puoi semplicemente aggiungere una riga nel tuo codice (dopo aver impostato tutti i locali) per copiare quel file con un nuovo nome con data e ora:

copy "K:\...\Benefit period analysis (Code).do" "K:\...\Benefit period analysis (Code)(`b')`a1'_`a2'_`a3'.do"

Ma nota che vorresti sempre save il tuo file open .do prima dell'esecuzione e che il tuo editor di file. do non cambierà per visualizzare questo file appena creato:rimarrebbe visualizzando il master (versione non timestampata).Ma penso che questo otterrà ciò che stai cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top