こんにちは、
これはばかげた質問かもしれませんが、私はそれを解決できないようです。 12時間ごとにJMPスクリプトを実行し、データテーブルを共有フォルダーに保存するウィンドウスケジューラがあります。 ただし、テーブルが(任意のユーザーによって)開かれている場合、ファイルは次の自動実行で保存できません。これは通常です。 JMPファイルを「読み取り専用」モードで開き、データの上書きを有効にする簡単なオプションはありますか?
ありがとう!
私の知る限り、「単純な」オプションはありませんが、いくつかのオプションがあります。
- 他のユーザーがフォルダを読み取り専用にし、ファイルを作成するユーザーに書き込みアクセス権を付与します
- 「コマンドの実行」を使用して、「読み取り専用」ファイルの書き込みを有効にします。 これを行うには複数の方法がありますが、1つは、上書きする直前に読み取り専用フラグを削除し、保存後に有効にすることです。 私が正しく覚えていれば、強制タイプフラグもあり、読み取り専用ファイルを強制的に上書きできます。
このようなものが機能する可能性があります。 DOSアトリブコマンドは理解しません$ desktop 、したがって、2番目の例ではconvertFilePathそれを修正します。 パスにスペースがある場合に備えて、引用符も追加されます。
// 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>
FileSnapperアドインはこれを使用して、スナップショットファイルを読み取り専用にします。 .JMPテーブルでも機能すると思います。
これはすべて、ユーザーがチームに所属していて、このソリューションを破ろうとしていないことを前提としています。 ファイルへのr / wアクセス権がある場合は、属性も変更できます。 次に、書き込み権限があり、書き込み権限がないサーバーが必要になります。 共有フォルダーがマシン上にある場合は、attribコマンドを使用するよりも簡単にアクセス許可を設定できます。 アクセス許可は自分自身からあなたを保護しません-ファイルを開いたまま(読み取り専用ではない)JMPのインスタンスを実行したままにすると、同じマシン/ユーザー上のJMPのスケジュールされたインスタンスは排他的アクセスを持ちません。 重要な場合は、両方を行うことができます。