RunProgramを使用してファイルをコピーする私は時々ユーザのPC上のいくつかの設定ファイルを更新する必要があります、そして、私はそれを自動的にしたいです。 過去に私は一時的な.batファイルを作成し、それらをopen()で実行しました。 今私は同じことをするためにrunprogramを使用しようとしていますが、それはうまくいきません。 私はほとんどそこにいると思います - どんな助けでも大いに感謝されています。
これが私のプログラムです:
old_file = "C:\some directory\file1.ext";
new_file = "Z:\zdrive folder\file1.ext";
d1 = last modification date(old_file);
d2 = last modification date(new_file);
if (d1 != d1,
options_list = evallist({"copy", "/y", evalinsert("\["^new_file^"]\"), evalinsert("\["^old_file^"]\")});
status = runprogram(executable("cmd.exe"), options(options_list), readfunction("text"));
);日付が一致しない場合は、各ファイル名のパスを二重引用符で囲み、DOSシェルでcopy / yを実行します。 Windows 7を実行しています。 私はDOSウィンドウで文字列を走らせました、そしてそれは問題なくファイルをコピーしました。
再:RunProgramを使用してファイルをコピーするいくつかのメモファイルをコピー( コピー元ファイル、コピー先ファイル ) :
- のファイルへ存在できないので、最初に削除する必要があります( ファイルが存在していますそしてファイルを削除する )
- のファイルをコピーするプログラムは、パスのないファイル名を処理します(例:\\ smith.company.com \ dir1 \ dir2 \ dir3 \ file.ext)。 DOSのcopyコマンドはそれに問題があるようです。
そう、ファイルをコピーするその日を支配する!再度、感謝します。
再:RunProgramを使用してファイルをコピーするJustinとCraigeに感謝します。 私は使うと思いますファイルをコピーするそれはより直接的な解決策です。 しかし、使い方を知っておくのはいいことです。実行プログラム組み込みのDOSコマンドで。
再:RunProgramを使用してファイルをコピーするもう少し情報ここにこれは、dirとcopyがcmd.exeインタプリタに組み込まれていることを説明しています。
再:RunProgramを使用してファイルをコピーする実際にはこれを行うJSL関数(ファイルのコピー)があります。
RunPogramを使用したい場合は、単一の文字列オプション内に2つのファイルへのパスを指定してcopyコマンドを含める必要があります。終了する前にコマンドを実行するために、"/ c"オプションも含める必要がありました。
Names Default To Here( 1 );
old_file = "C:\some directory\file1.ext";
new_file = "Z:\zdrive folder\file1.ext";
d1 = last modification date(old_file);
d2 = last modification date(new_file);
if (d1 != d1,
command_string = "/c copy" || new_file || " " || old_file;
status = RunProgram(
Executable( "CMD.EXE" ),
Options( {"/y", command_string} ),
ReadFunction( "text" )
);
);