如何批量自动“进入”

时间:2016-05-03 15:00:04

标签: batch-file enter

我有一个批处理脚本来通过拖放来复制文件。当文件被拖入窗口时,用户需要按“Enter”继续。我怎么能绕过这个?我已经阅读了很多关于vbscript的帖子,但是我希望这可以用它完成吗?
我的脚本如下:

@echo off
setlocal enabledelayedexpansion
Set Dest="C:\My Doc"

set /p CS=Drag and Drop file:
Echo.

if exist !Dest! (
xcopy /y /q !CS! !Dest!
)

Explorer.exe !Dest!

EXIT

脚本本身运行正常,但我想绕过拖动文件后按Enter键的要求。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我认为SomethingDark的评论提供了最佳解决方案。如果必须拖放到正在运行的脚本上,则可以借用PowerShell的.NET控制台方法来监视输入的结尾,而无需用户按 Enter

@echo off
setlocal
Set Dest="C:\My Doc"

<NUL set /P "=Drag and drop file: "
for /f "delims=" %%I in (
    'powershell "do {[void][console]::ReadKey().KeyChar} while ([console]::KeyAvailable)"'
) do set "CS=%%~I"

echo;

if exist "%Dest%" (
    xcopy /y /q "%CS%" "%Dest%"
)

explorer.exe "%Dest%"

exit /b