我正在尝试编写一个自动安装远程应用程序应用程序的脚本。以下是我到目前为止的情况:
<?php while ( have_posts() ) : the_post(); ?>
<div class="main-content">
<div class="main-wrap">
<div class="col-sm-12">
<div class="breadcrumbs">
<?php if(function_exists('bcn_display'))
{
bcn_display();
}?>
</div> <!-- breadcrambs ends here -->
</div><!-- col-sm-12 ends here -->
<?php
// check for rows (parent repeater)
if( have_rows('product_page') ): ?>
<div class="col-lg-12 row product-row">
<?php
// loop through rows (parent repeater)
while( have_rows('product_page') ): the_row(); ?>
<div class="col-sm-12">
<div class="marque">
<span class="brand-lg"><img src="<?php the_sub_field('brand_image'); ?>" /></span>
</div>
</div>
<?php
// check for rows (sub repeater)
if( have_rows('post_repeater') ): ?>
<div class="col-sm-12 product-item-row">
<?php
// loop through rows (sub repeater)
while( have_rows('post_repeater') ): the_row();?>
<div class="col-sm-3 product-item">
<?php
$postobject = get_sub_field('product_post');
$image = wp_get_attachment_image_src(get_post_thumbnail_id( $postobject->ID ),'medium');
//echo "<pre>";print_r($postobject); echo"</pre>";
$image = $image[0];
//$new = get_field('new_product_item');
//echo $image;
?>
<a href="<?php echo get_permalink($postobject->ID);?>">
<?php if ( get_field( 'new_product_item',$postobject->ID) ): ?>
<img class="new-label-en" src="<?php bloginfo('template_directory');?>/images/label-en.png" />
<img class="new-label-fr" src="<?php bloginfo('template_directory');?>/images/label-fr.png" />
<img class="product-img" src="<?php echo $image;?>" width="100%" height="100%" />
<p class="product-name"><?php echo $postobject->post_title;?></p>
<p class="product-seemore"><?php echo $product_details_link_text;?></p>
<?php else: // field_name returned false ?>
<img class="product-img" src="<?php echo $image;?>" width="100%" height="100%" />
<p class="product-name"><?php echo $postobject->post_title;?></p>
<p class="product-seemore"><?php echo $product_details_link_text;?></p>
</a>
<?php endif; //if( get_sub_field): ?>
</div><!-- col ends here -->
<?php endwhile; ?>
</div><!-- col Product Items row here -->
<?php endif; //if( get_sub_field('items') ): ?>
<?php endwhile; // while( has_sub_field('to-do_lists') ): ?>
</div><!-- col lg 12 ends here or row ends here -->
<?php endif; // if( get_field('to-do_lists') ): ?>
<?php endwhile; // end of the loop. ?>
<div class="lnk-top">
<a href="#"><span class="icon-arrow-up up-arrow"></span><br>Top</a>
</div>
</div><!-- main wrap ends here -->
<div class="clr"></div>
</div><!-- main content ends here -->
到目前为止,脚本没有像我预期的那样工作。我希望它安装应用程序然后我希望它创建一个名为C:\ Icons的目录并将应用程序数据复制到该文件夹,这样我就可以删除它所做的appdata条目,这些条目使用户配置文件的登录时间更长。此外,我在服务器上有一个文件夹,我想复制到本地桌面,该桌面包含我们使用的所有互联网快捷方式。这也无法正常工作:(
答案 0 :(得分:1)
这应该适合你。
如果您提供要复制的源的完整位置,那么您是否真的需要所有pushd和popd。如果您正在执行文件,并通过它的完整通用命名约定(即C:\ Folder \ Test.txt)调用它,那么您不需要将当前目录更改为C:\ Folder,您可以从计算机文件系统中的任何位置运行该文件,因为您提供了完整的文件位置。
如果您只想通过提供文件名或文件的部分地址来运行文件,则需要更改到文件所在的目录,或者从您所在的位置向导演提供位置位于。 (例如,如果您在C:\ Folder1中,并且该文件位于C:\ Folder1 \ Folder2 \ Folder3 \ File.txt中,则需要使用以下地址。\ Folder2 \ Folder3 \ File.txt,因为您已经位于C:\ Folder1和。\充当您所在的当前目录的占位符\变量。)
REM Install Remote Icons
@Echo On
msiexec /i "\\Servername.com\it\RDP\Installers\ExercisePro.msi" /qn /norestart
msiexec /i "\\Servername.com\it\RDP\Installers\Excel.msi" /qn /norestart
msiexec /i "\\Servername.com\it\RDP\Installers\Word.msi" /qn /norestart
msiexec /i "\\Servername.com\it\RDP\Installers\Outlook.msi" /qn /norestart
msiexec /i "\\Servername.com\it\RDP\Installers\Allscripts EHR.msi" /qn /norestart
msiexec /i "\\Servername.com\it\RDP\Installers\Allscripts PM.msi" /qn /norestart
msiexec /i "\\Servername.com\it\RDP\Installers\MModal Allscripts EHR.msi" /qn /norestart
Call "\\Servername.com\M Modal\Fluency.Direct.9.1.65.7.6.4.v7\fd.client\install_silent.bat"
mkdir C:\Users\%USERNAME%\Icons
copy C:\Users\%USERNAME%\%APPDATA%\Local\Microsoft\Installer\*.* C:\Users\%USERNAME%\Icons /Y
copy \\Servername.com\Private IT\PC_Shortcuts\*.* \\%COMPUTERNAME%\%USERNAME%\Public\Desktop /Y
pause
注意: 我已在/ norestart中添加,以确保您的设备在任何安装后都不会重新启动,这将导致安装脚本终止。< / em>的
答案 1 :(得分:0)
您可以使用powershell远程处理来执行此任务。使用invoke-command
参数检查-ComputerName
以获取远程操作。使用Powershell版本5 Copy-Item
支持FromSession ToSession
参数来远程复制文件。您可以通过Start-Process
运行msiexec。