对比删除更新批处理命令或其他程序脚本如:VBS

来源:百度知道 编辑:UC知道 时间:2024/06/29 20:33:25
有个问题想请教一下 对批处理很精的大虾

一个游戏更新的对比命令 我游戏对比做好的同时 我想实现让服务器和客户机对比替换

我故意在客户机上建了个文件夹 然后对比过后它还依然存在 并没有被替换或者被删除

※求一个命令怎么写才可以将客户机多余的文件直接删除掉 ?

另外 问一下 怎么才可以做到让批处理对比更新做到更快的速度 是不是需要加什么东西配合用才快呢 !!!我看我过别人更新游戏 也是做批处理更新的 但几秒种时间就可以实现整盘对比更新

指教指教 谢谢

※求一个命令怎么写才可以将客户机多余的文件直接删除掉

以下是我用的对比更新命令,
@echo 正在自动更新,请稍候...
@echo 已连接到更新服务器
@echo 开始更新文件..
@ECHO OFF
IF EXIST \\server\game\征途\up.txt goto :START
IF NOT EXIST \\server\game\征途\up.txt goto :END
:START
xcopy \\server\game\征途\ /d/y D:\NETGAME\征途\ /d/r/y/e/h
GOTO :END
:END
@echo 自动更新完成,游戏将自动运行,请关闭本窗口.
D:\NETGAME\征途\patchupdate.exe

希望高手帮我加上[对比删除]多余文件的命令,
实现目的:
对比服务器将旧的文件和多余的文件删除,更新没有的和最新的文件下来

看楼主的问题好像是要解决对比的问题吧?
以下代码是对比a文件夹和b文件夹,将b文件夹有而a文件夹中没有的(即:多余的文件)文件删除.

@echo off &setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir/b/a-d c:\a\*.*') do set %%i=a
for /f "delims=" %%i in ('dir/b/a-d c:\b\*.*') do (
if not defined %%i del/q "%%i")

设置源目录和目标
set up=\\更新服务器\d\
set down=d:\
把更新服务器硬盘映射到本机
net use z: %up%
生成文件列表
echo. > up.txt
echo. > down.txt
for /r "z:\" %%i in (*) do echo %%~pnxi >> up.txt
for /r "%down%" %%i in (*) do echo %%~pnxi >> down.txt
对比文件列表删除多余文件
for /f "tokens=*" %%i in (down.txt) do (
find "%%i" up.txt || del /a /f /q "%down%%%i"
)
删除空文件夹
set num=0
for /f "delims=" %%i in ('dir /ad /b /s "%down%"') do (
for /f %%j in ('dir /a "%%i&quo