被叫命令窗口不会批量关闭powershell hybrid

时间:2016-08-01 12:23:27

标签: windows powershell batch-file cmd

编辑 人们关注的是正在调用的程序,但是问题甚至发生在xcopy批次上,如下所示。 < / p>

c: 
for /f "tokens=1-4 delims=/ " $$a in ('date /t') do (set weekday=%%a& set day=%%b& set month=%%c& set year=%%d) 
set jdate=%day%-%month%-%year% 
g: 
md brd_backup_%jdate% 
cd brd_backup_%jdate% md data md programs 
f: 
cd\brdata 
xcopy d:\brdata\data*.* g:\brd_backup_%jdate%\brdata\data*.* /a /y /s 
xcopy d:\brdata\programs*.* 

以下原帖:

我用新的Server 2012 R2框替换了服务器。下面的批次应该提示商店编号,然后将文件导入软件。它在旧服务器上运行了6年。我将批处理文件复制到新服务器,现在批处理文件完成后不会关闭CMD窗口。这种情况发生在我构建的任何批次,旧的或全新的。我已经读过,我应该开始使用START&#34;&#34;然后用引号括起我的批次,但这不起作用(我可能做错了)。如何让CMD窗口自动关闭?他们为什么要停下来?下面的答案说Powershell可能会有所帮助,但是我没有使用Powershell的经验,也无法让它工作。

&#13;
&#13;
@echo off
set store= 01
set /p store= Which store would you like to import? (Two digits):

f:
cd\brdftp

::
::     Pulls Store
:::::::::::::::::::::::

cd\brdftp\store%store%


xcopy ir*.* f:\brdata
xcopy *.pdf /a /s /y f:\brdata\images\dsdefimg
del *.* /q


::                          imports files to brdata
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
f:
cd\brdata

start /w plbwin rftw9417 -auto
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

修改原始脚本以运行:

start "" /b plbwin rftw9417 -auto

或者,尝试:

call plbwin rftw9417 -auto

如果批处理窗口仍未关闭,请将 fullpath 替换为 plbwin.exe 的路径,然后从批处理中运行Powershell命令以启动目标隐藏窗口中的程序:

set "img=fullpath\plbwin.exe" & set "cfg=rftw9417 -auto"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process -WindowStyle hidden -FilePath '%img%'"^
 "-WorkingDirectory '%img:~0,-11%' -ArgumentList '-f ""%cfg%"""'}"