0

如果文件的大小不再改变(完全处理),我想将文件从 dir1 移动到 dir2。一个可能的参加是询问 size0(在 0 秒)和 size10(在 10 秒),如果 size0=size10,而不是将文件从 dir1 移动到 dir2。

如何在 windows xp 的命令行中执行此操作?

4

2 回答 2

2

尝试这个:

@ECHO OFF &SETLOCAL
CD /d dir1
:loop
FOR %%a IN (file) DO SET "size=%%~za"
PING -n 10 localhost >NUL
FOR %%a IN (file) DO IF %%~za equ %size% (move "%%~a" dir2) ELSE GOTO :loop
于 2013-07-24T17:49:40.507 回答
0

像这样的东西可能会起作用:

@echo off

setlocal

set "file=C:\path\to\your.file"
set "destination=D:\some\folder"

:loop
call :GetSize "%file%" s1
call :Sleep 10
call :GetSize "%file%" s2
if %s1% neq %s2% goto loop

call :MoveUnlessExists "%file%"

goto :eof

:GetSize
set "%~2=%~z1"
goto :eof

:Sleep
set /a "n=%1+1"
ping -n %n% 127.0.0.1 >nul
goto :eof

:MoveUnlessExists
if not exist "%destination%\%~nx1" move "%~f1" "%destination%\"
goto :eof
于 2013-07-24T17:45:04.610 回答