如何使用批处理命令关闭特定文件
How can I close a specific file using a batch command
我正在尝试创建一个用于打开 Access 文件的批处理文件。 (按 enter),然后再次关闭 Access 文件。我是批处理文件的完全菜鸟,我唯一能工作的部分是打开文件部分。
Start "" "W:\Motorenfabriek\World Class Manufacturing\Verspaning\Area 1\PROVO Applicatie\Database tabellen\TblStoringDienst.accdb"
当我 运行 此代码时,应用程序打开。问题出在组织内部,您首先必须按回车键才能使用 Access 文件。
我知道之前有人问过这个问题,但我还没有看到任何可行的答案。
我尝试了下面的代码再次关闭应用程序,但这不起作用。应用程序保持打开状态:
taskill /f /im "W:\Motorenfabriek\World Class Manufacturing\Verspaning\Area 1\PROVO Applicatie\Database tabellen\TblStoringDienst.accdb"
我只想关闭此文件,而不是所有 Access 实例,因为还有 运行 另一个实例。
有几种终止任务的方法,其中一种更简单的方法是通过 window 标题终止它。例如,我打开了一个名为 test.txt
的文件,该文件在 notepad
中打开。标题显示为test.txt - Notepad
.
然后我可以这样做来杀死它。
taskkill /F /FI "WindowTitle eq test.txt - Notepad" /T
同样适用于 Window 标题,例如:
my_devices.csv - Excel
My Document1 - Word
TblStoringDienst.accdb - Access
Hex edit TblStoringDienst.accdb
等等
至于你的send keystroke选项,纯batch做不到,你得wscript和batch结合。当命令启动时,这将在 2 秒超时后将回车发送到屏幕。由于我没有您的环境,因此未经测试,因此可能需要调整。
@if (@CodeSection == @Batch) @then
@echo off
set SendKeys=CScript //nologo //E:JScript "%~F0"
Start "" "W:\Motorenfabriek\World Class Manufacturing\Verspaning\Area 1\PROVO Applicatie\Database tabellen\TblStoringDienst.accdb"
timeout /t 2 /nobreak >nul
%SendKeys% {ENTER}
@end
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));
我正在尝试创建一个用于打开 Access 文件的批处理文件。 (按 enter),然后再次关闭 Access 文件。我是批处理文件的完全菜鸟,我唯一能工作的部分是打开文件部分。
Start "" "W:\Motorenfabriek\World Class Manufacturing\Verspaning\Area 1\PROVO Applicatie\Database tabellen\TblStoringDienst.accdb"
当我 运行 此代码时,应用程序打开。问题出在组织内部,您首先必须按回车键才能使用 Access 文件。
我知道之前有人问过这个问题,但我还没有看到任何可行的答案。
我尝试了下面的代码再次关闭应用程序,但这不起作用。应用程序保持打开状态:
taskill /f /im "W:\Motorenfabriek\World Class Manufacturing\Verspaning\Area 1\PROVO Applicatie\Database tabellen\TblStoringDienst.accdb"
我只想关闭此文件,而不是所有 Access 实例,因为还有 运行 另一个实例。
有几种终止任务的方法,其中一种更简单的方法是通过 window 标题终止它。例如,我打开了一个名为 test.txt
的文件,该文件在 notepad
中打开。标题显示为test.txt - Notepad
.
然后我可以这样做来杀死它。
taskkill /F /FI "WindowTitle eq test.txt - Notepad" /T
同样适用于 Window 标题,例如:
my_devices.csv - Excel
My Document1 - Word
TblStoringDienst.accdb - Access
Hex edit TblStoringDienst.accdb
等等
至于你的send keystroke选项,纯batch做不到,你得wscript和batch结合。当命令启动时,这将在 2 秒超时后将回车发送到屏幕。由于我没有您的环境,因此未经测试,因此可能需要调整。
@if (@CodeSection == @Batch) @then
@echo off
set SendKeys=CScript //nologo //E:JScript "%~F0"
Start "" "W:\Motorenfabriek\World Class Manufacturing\Verspaning\Area 1\PROVO Applicatie\Database tabellen\TblStoringDienst.accdb"
timeout /t 2 /nobreak >nul
%SendKeys% {ENTER}
@end
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));