编辑 人们关注的是正在调用的程序,但是问题甚至发生在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的经验,也无法让它工作。
@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;
答案 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%"""'}"