从R控制台执行批处理文件(psexec.exe)

时间:2015-10-20 17:26:40

标签: r batch-file cmd redis psexec

我正在运行redis服务器来扩展机器学习算法的核心数量。要在另一台计算机上创建worker,我需要执行一个批处理文件,在联网的计算机上启动它们。我可以在我的本地计算机上启动它们,并通过.bat文件中的psexec.exe命令让它们在远程计算机上运行。但是我还需要能够从我的R控制台调用这个.bat文件,使其成为一个系统,所以每次运行新模型时我都不必手动启动它们。

当我在R控制台中运行系统(命令)以启动.bat文件时出现错误:

'PsExec.exe' is not recognized as an internal or external command,
operable program or batch file.
Warning message:
running command 'C:\remoterun.bat' had status 1 

我调用的系统命令是:

system("C:\\remoterun.bat")

是否可以在R中执行.bat文件以在R外部运行?是否有另一个我可以运行的cmd类型命令,它与我可以在R中运行的psexec一样?

谢谢!

1 个答案:

答案 0 :(得分:1)

看起来未在bat文件中定义PsExec.exe路径。您可以将PsExec.exe路径添加到Windows路径。在这里查看有关Windows路径的帮助:http://www.computerhope.com/pathhlp.htm 您还可以查看shell()命令,类似于下面的测试。

/**
* Add a 1% surcharge to your cart / checkout
* change the $percentage to set the surcharge to a value to suit
* Uses the WooCommerce fees API
*
* Add to theme functions.php
*/
add_action(             
'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
global $woocommerce;
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;
$percentage = 0.20;
$surcharge = ( $woocommerce->cart->cart_contents_total +        
$woocommerce->cart ) * $percentage;
$woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' );
}

function YourUniqueID_add_enqueue_scripts() {
wp_enqueue_script( 'theme_js', trailingslashit(     
get_stylesheet_directory_uri() ) . 'js/theme.js', array( 'jquery' )   
);
}
add_action( 'wp_enqueue_scripts', 'YourUniqueID_add_enqueue_scripts' );

希望它有所帮助。