如何解决打开文件,等待其退出/退出,然后继续批处理文件
|| SETLOCAL enableextensions enabledelayedexpansion
:: change your Given/First name
set MYSELF=Felipe
set BOSS=Jon
set \"MYFILE=Timesheet_%MYSELF%_FY10.11_Version_1.1.xls\"
set \"MYLOCKEDFILE=%MYFILE%.gpg\"
set \"SAFETY=~%MYFILE%\"
:: PFx86: this variable is needed to avoid breaking \'if\' statement below
set \"PFx86=%PROGRAMFILES(x86)%\"
if exist (%PFx86%) (
set \"GPGBIN=%PFx86%\\GNU\\GnuPG\\\"
echo 64-bit windows...
) else (
set \"GPGBIN=%PROGRAMFILES%\\GNU\\GnuPG\\\"
echo 32-bit windows...
)
if exist %MYLOCKEDFILE% (
echo locked file found
for %%F in (%MYLOCKEDFILE%) do (
set ATTRIBS=%%~aF
set READ_ATTRIB=!ATTRIBS:~1,1!
if !READ_ATTRIB!==r (
echo locked file is RO...
:: svn lock
TortoiseProc.exe /command:lock /path:%MYLOCKEDFILE%
) else (
echo locked file is RW...
)
:: decrypt
echo decrypting...
\"%GPGBIN%\\gpg.exe\" \"%MYLOCKEDFILE%\"
)
if exist %MYFILE% (
echo opening %MYFILE%...
%MYFILE%
echo encrypting...
:: encrypt
gpg.exe -r %BOSS% -r %MYSELF% -e %MYFILE%
echo deleting %MYFILE%...
del %MYFILE%
)
)
我有一个执行以下操作的批处理文件
解密timesheet.xls.gpg文件
用打开
\“ timesheet.xls \”
然后用gpg再次加密
时间表打开后,它将立即继续进入“加密”阶段。
如何使其等待直到XLS文件关闭才能继续运行脚本(无需用户的明确干预)?解决方法
我用了
START /WAIT \"title\" \"..\\path\\to\\excel.exe\" \"%MYFILE%\"
而且有效。,您最好不要为此使用批处理文件,而要使用AutoIt,它可以等到Excel完成电子表格的打开,然后再从那里继续进行到加密阶段。
要引用他们的页面:
AutoIt v3是一种免费的,类似于BASIC的脚本语言,旨在自动执行Windows GUI和常规脚本。它结合了模拟按键,鼠标移动和窗口/控件操作的组合,从而以其他语言(例如VBScript和SendKeys)不可能或不可靠的方式自动执行任务。 AutoIt也非常小巧,功能齐全,可以直接在所有版本的Windows上运行,而无需烦人的“运行时”!
这将更适合手头的任务。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。