0

Colls さん、次のようなスクリプトを書きました。

  1. ファイルを C:\PR\DataFiles\Input\CL_CH5\"+k+"\ext_028042012.dat から C:\PR\DataFiles\Input\ext_028042012.dat にコピーします - 正常に動作します

  2. 指定したコマンド ラインで cmd.exe を実行する (p.3)

  3. cmd.exe を実行した後、スクリプトは c: ディスクに移動し、ディレクトリを c:/pr に変更してから、コマンド行 «process.bat c:\pr ext_028042012.dat auto» に書き込み、Enter キーを押します。

コードは次のとおりです。

 var fso = new ActiveXObject("Scripting.FileSystemObject");  
     for (var k = -2; k <= 0; k++)  
     {  
         var out_dir = "C:\\PROBE\\DataFiles\\Input\\CL_CH5";  
         // now i am copying a ext_028042012 to destination folder    
         fso.CopyFile("C:\\PR\\DataFiles\\Input\\CL_CH5\\"+k+"\\ext_028042012.dat",                                                                            
         "C:\\PR\\DataFiles\\Input\\ext_028042012.dat", 1);  
         WScript.Echo(k+"file copied.");  
         /*Block which run cmd window*/  
         //The following code should open a command window, changes to the path to C:\ ,   and executes the DIR command.
         var oShell = WScript.CreateObject ("WScript.Shell");  
         **oShell.run ("cmd /K cd c:\pr /K process.bat c:\ext_028042012.dat auto");**  
         WScript.Echo(k+ "file proceed!!!");
  1. 残念ながら、うまくいきません。スクリプトは、コマンド ラインを p.3 から開いた cmd.exe ウィンドウに配置しません。どこが間違っているのか教えてください。本当にありがとうございました。
4

1 に答える 1

1

コマンド文字列、

"cmd /K cd c:\pr /K process.bat c:\ext_028042012.dat auto"

間違っているように見えます。そのようなコマンドをいくつか指定できるとは思いません/K-そして、の意味/K「コマンドを実行して続行する」であるため、起動した最初のシェルを終了することはありません。

やってみました:

"cmd /K cd c:\pr && process.bat c:\ext_028042012.dat auto"
于 2012-04-30T05:33:12.393 に答える