CIAO,
Potrebbe essere una domanda sciocca, ma non riesco a risolverla. Ho un programmatore di finestre che esegue uno script JMP ogni 12 ore e salva la tabella dati in una cartella condivisa. Tuttavia, il file non può essere salvato nella successiva esecuzione automatica, se la tabella è aperta (da qualsiasi utente), cosa che di solito avviene. Esiste un'opzione semplice per aprire il file JMP in modalità "sola lettura" e abilitare la sovrascrittura dei dati?
Grazie!
Qualcosa del genere potrebbe funzionare. Il DOS attributo il comando non capirà $desktop , quindi utilizza il secondo esempio convertirePercorsoFile per sistemarlo. Si aggiungono anche virgolette nel caso in cui siano presenti spazi nei percorsi.
// make read only: attrib.exe +R <PATH>
txt = Run Program(executable("attrib.exe"), options({"+R","\!""||FILENAME||"\!""}), readfunction("text"));</PATH>
// make NOT read only: attrib.exe -R <PATH>
txt = Run Program(executable("attrib.exe"),options({"-R","\!""||convertfilepath( FILENAME ,windows)||"\!""}),readfunction("text"));</PATH>
Il componente aggiuntivo FileSnapper lo utilizza per rendere i file di istantanea di sola lettura. Penso che funzionerà anche per le tabelle .JMP.
Tutto ciò presuppone che i tuoi utenti facciano parte del tuo team e non stiano cercando di interrompere questa soluzione. Se hanno accesso in lettura e scrittura al file, possono anche modificare l'attributo. Quindi avresti bisogno di un server su cui hai il permesso di scrittura e loro no. Se la tua cartella condivisa è sul tuo computer, probabilmente puoi impostare le autorizzazioni più facilmente rispetto all'utilizzo del comando attrib. Le autorizzazioni non ti proteggeranno da te stesso: se lasci un'istanza di JMP in esecuzione con il file aperto (non di sola lettura), l'istanza pianificata di JMP sullo stesso computer/utente non avrà accesso esclusivo. Potresti fare entrambe le cose se è fondamentale.
Per quanto ne so, non esiste un'opzione "semplice", ma ci sono opzioni, di seguito ne elenchiamo alcune:
- Rendi la cartella di sola lettura per altri utenti e concedi l'accesso in scrittura alla persona che scrive il file
- Utilizzare Esegui comando per abilitare la scrittura di file di "sola lettura". Esistono diversi modi per farlo, ma uno sarebbe rimuovere il flag di sola lettura subito prima della sovrascrittura e abilitarlo dopo il salvataggio. Se ricordo bene ci sono anche flag di tipo forzato, che possono forzare la sovrascrittura dei file di sola lettura.