Batch file 批处理等待Windows 10复制完成
我已经为工作编写了一个批处理程序,以某种方式重命名文件。(“测试”->“年-月-日测试人缩写”) 为了让工作日变得更轻松,我想让整个事情对用户来说尽可能简单 因此,我的想法是,用户只需使用ctrl+x将文件复制到剪贴板,然后通过任务栏激活快捷方式。 现在,将打开一个普通文件夹,并通过启动VBS脚本(ctrl+V)将文件插入该文件夹 现在我有一个程序,我无法确定windows需要将文件移动到目录中多长时间,因为它不是通过批处理“复制”执行的,而是通过ctrl+X和ctrl+V执行的 我试图从explorer进程中获取信息,但没有成功 我甚至试图从CPU使用情况中获取信息,但这也是非常困难的 目标是简单地将文件从未知目录复制到可以重命名的目录 我附上我的小脚本作为解释 我已经尝试通过计算文件来解决这个问题。但是,传输单个文件可能需要超过1秒的时间,这使得sytsem无效Batch file 批处理等待Windows 10复制完成,batch-file,Batch File,我已经为工作编写了一个批处理程序,以某种方式重命名文件。(“测试”->“年-月-日测试人缩写”) 为了让工作日变得更轻松,我想让整个事情对用户来说尽可能简单 因此,我的想法是,用户只需使用ctrl+x将文件复制到剪贴板,然后通过任务栏激活快捷方式。 现在,将打开一个普通文件夹,并通过启动VBS脚本(ctrl+V)将文件插入该文件夹 现在我有一个程序,我无法确定windows需要将文件移动到目录中多长时间,因为它不是通过批处理“复制”执行的,而是通过ctrl+X和ctrl+V执行的 我试图从exp
@Echo Off >nul
setlocal EnableDelayedExpansion >nul
chcp 65001 >nul
set Kuerzel=fb
del /q "Temp\"
start "" "Temp"
timeout /t 1
start "" "data\strg+v.vbs"
::wait until all files are there
:loobt
set dateien1=0
for /F %%i in ('dir Temp\* /B /A-d') do set /A dateien1=dateien1+1
timeout /t 1
set dateien2=0
for /F %%i in ('dir Temp\* /B /A-d') do set /A dateien2=dateien2+1
if not %dateien1% == %dateien2% goto loobt
if %dateien1% == 0 goto loobt
::rename
for /r "Temp\" %%i in (*.*) do (
set "neu=%%~ni"
ren "%%i" "%date:~6%-%date:~3,2%-%date:~0,2%-!neu:_=-!-%Kuerzel%%%~xi"
)
timeout /t 2
start "" "data\strg+a.vbs"
start "" "data\strg+c.vbs"
timeout /t 1
start "" "data\alt+F4.vbs"
我为语法错误或单词混乱道歉。我已经尽了最大努力,用英语编写了一个可理解的文本。不要使用
START
命令来运行VBS
。如果您能够解释更改为代码页65001的目的,这将非常有用,因为您似乎没有使用几乎所有标准默认代码页中都没有的任何字符。如果我们了解目的,最好了解strg+v.vbs
、strg+a.vbs
、strg+c.vbs
、以及alt+F4.vbs
的内容,这可能也会很有好处。我假设出于某种莫名其妙的原因,您决定创建单独的vbscript文件,通过sendkeys
,执行GUI击键,[CTRL]
+[V]
将未知数据从剪贴板粘贴到通过start”““Temp”
打开的“资源管理器”窗口中;然后在以后的[CTRL]
+[A]
,[CTRL]
+[C]
,和[CTRL]
+[F4]
,依次选择全部,复制,然后关闭当前打开的特定“资源管理器”窗口。因此,我们需要的是解释您为什么试图通过GUI执行此操作,以及根据您的代码意图,到底发生了什么或没有发生什么。@Compo我更改了每个程序中的代码页。这样我就不用担心像“üäö”这样的字母了。我知道这会导致问题,但到目前为止,我还没有遇到任何问题。但如果是那样的话,我可以把它从代码中删掉。下面是我的一个VBS脚本:```Set WshShell=WScript.CreateObject(“WScript.Shell”)WshShell.AppActivate“notepad”WshShell.SendKeys(“^c”)```这些脚本都是以相同的方式构建的。我知道这不是最好或最有效的解决方案。然而,这只是为了testing@Florian,您在评论中特别使用的字母u
、a
和o
不是Unicode或UTF-8字符,它们是多个代码页中可用的拉丁字符,我建议您使用1252