我有以下批处理文件,它基本上从共享文件夹中复制另一个 bat 文件,选择此 bat 文件并使用 sendkeys 选项发送 ENTER 键。
在 Windows 7 上一切正常,但是,一旦我尝试在 Windows 10 上使用相同的功能,它就无法正常工作。
它确实将文件复制到特定文件夹中,它会使用所选文件打开此文件夹,但不会启动文件本身。在我的情况下,使用 sendkeys 功能启动文件很重要。
我假设问题是由于没有保持打开的文件夹处于焦点,sendkeys 确实发送了 ENTER 按钮,但是由于所选文件夹不在 Windows 焦点批处理文件中,因此不会自动启动。
有没有可能将窗口集中在打开的文件夹上?
@if (@CodeSection == @Batch) @then
@echo off
set SendKeys=CScript //nologo //E:JScript "%~F0"
xcopy "\\fs\FIle Share\SA Support\ZverTools\Win10UninstallUnnecessaryApps.bat" "%USERPROFILE%" /y
PING localhost -n 2 >NUL
set targetfilepath=%USERPROFILE%\Win10UninstallUnnecessaryApps.bat
%SystemRoot%\explorer.exe /select, "%TARGETFILEPATH%"
PING localhost -n 1 >NUL
%SendKeys% "{ENTER}"
goto :EOF
@end
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));