ファイルの保存と上書きサーバルシートを開いたり閉じたりするJSLスクリプトがあります。 それらが開いている間、ドキュメントを1つのファイルにマージしてから、ファイルをローカルフォルダーに保存します。 スクリプトは現在、ローカルフォルダ内の既存のファイルを上書きします。 現在のファイルを上書きするのではなく、スクリプトを実行するたびに、サブフォルダーに新しいファイルを追加するスクリプトがありますか(理想的には、作成のタイムスタンプをタイトル「Merged」にタグ付けすることで区別されます)。 または、さらに良いことに、現在のものが上書きされても問題ありませんが、スクリプトが実行されるたびに、そのコピーがサブフォルダーに保存されますか? 私が見ることができるバックログのようなものですが、他の人は「ライブ」バージョンしか見ることができません
@txnelson 、私はあなたがここで似たようなことを手伝ってくれるのを見ました: https://community.jmp.com/t5/Discussions/Save-new-graph-instead-of-overwriting-the-already-saved-ones/mp/54078#M30546
多分それはこれのバリエーションですか?
データ表スクリプティングウィンドウズRe:ファイルの保存と上書きどちらのオプションも、少しのスクリプトで可能です。 Today()を使用すると、「タイムスタンプ」を簡単に取得できます。
タイムスタンプを使用して保存する方法の非常に簡単な例を次に示します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
table_name = dt << get name;
timestamp = Today();
save_path = Eval Insert("$temp\^timestamp^_^table_name^.jmp");
dt << Save(save_path);
Open("$temp");
他のフォルダに保存すると、パスとファイル名を変えて2回保存するか、ファイルをコピーすることができます。
Re:ファイルの保存と上書き使用できます
rc = Copy File( from, to );
ファイルをコピーします。コピーファイルの詳細と良い例については、スクリプトエディタを参照してください
ファイルを目的のサブディレクトリにコピーしたら、次のコマンドを使用できます。
data table("table name") << Save ("file path" );
新しいテーブルを保存します。ファイルパスでは、パスと、.jmp拡張子を含む完全なファイル名を指定します。
Re:ファイルの保存と上書きありがとうjthi!
タイムスタンプがテーブル名の前に「3727386650」のような値を入力していることを除いて、スクリプトはうまく機能します。 タイムスタンプを作成してみました:
timestamp = As Date( Today() );
日付と時刻を入力しますが、スクリプトはファイルを保存できませんでした。
Re:ファイルの保存と上書きToday()はタイムスタンプを生成しますが、JMPの日時値になりますJMPでの日付、時刻、日時、および期間の使用。
AsDate()を使用する場合、ファイル名で許可されていない文字が含まれている可能性があります。 どのタイプのフォーマットが必要ですか? Today()が提供する日時からビルドできます。スクリプトインデックスと日時の部分を確認してください。

そこから、Year()、Month()、Day()、Hour()、Minute()、Second()などの関数を見つけることができます(Char()またはEval Insert()と組み合わせて、最も堅牢なバージョンを構築できます必要なタイムスタンプ。
編集:
これは少し長いコードですが、かなり堅牢で、基本的にYYYYMMDD_hhmmss形式の文字列を提供する必要があります
Names Default To Here(1);
cur_time = Today();
yyyy = char(Year(cur_time));
//add spanning
mm = char(Month(cur_time));
mm = Substr("00", 1, 2 - Length(mm)) || mm;
dd = char(Day(cur_time));
dd = Substr("00", 1, 2 - Length(dd)) || dd;
hh = char(Hour(cur_time));
hh = Substr("00", 1, 2 - Length(hh)) || hh;
min = char(Minute(cur_time));
min = Substr("00", 1, 2 - Length(min)) || min;
ss = char(Second(cur_time));
ss = Substr("00", 1, 2 - Length(ss)) || ss;
timestamp_str = yyyy || mm || dd ||"_"|| hh || min || ss;