找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28932|回复: 7

[文件操作] 备份exe文件的两个批处理代码怎样合并到一起?

[复制链接]
发表于 2011-5-15 21:53:51 | 显示全部楼层 |阅读模式
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. ::提取d盘123文件夹(包括子文件夹)所有exe文件的路径并过滤重复路径
  3. for /f "tokens=*" %%a in ('dir/b/s/a-d D:\123\*.exe') do (if not defined "%%~dpa" (echo %%~dpa&&set ""%%~dpa"=s"))>>1.txt
  4. ::向已提取的路径复制文件
  5. for /f "delims=" %%y in (1.txt) do (for %%u in (name1.bat name2.bat) do copy %%u "%%y")
  6. pause
复制代码
我想将这两个代码合并到一起 去掉生成1.txt这个环节
发表于 2011-5-15 23:08:52 | 显示全部楼层
能否在顶楼介绍下这两个代码的用处?
发表于 2011-5-15 23:58:49 | 显示全部楼层
Batcher 问:楼主在说什么?
发表于 2011-5-16 10:48:52 | 显示全部楼层
能否再解释一下往每个文件夹下面复制这些文件的用处是什么呢?
经常看到有人问类似的问题,我觉得挺好奇。
发表于 2011-5-16 12:50:05 | 显示全部楼层
我能想到的唯一用途——利用ws2_32.dll进行限制程序运行。
 楼主| 发表于 2011-5-16 15:51:18 | 显示全部楼层
4# Batcher
硬盘里的exe文件经常被蠕虫感染,我想用批处理备份exe
我的想法是这样的
先向所有的需要备份的exe文件夹里复制两个批处理文件

压缩EXE文件.bta
  1. @echo off
  2. pushd "%~dp0"
  3. "%ProgramFiles%\WinRAR\RAR.exe" x -y #*.rar
  4. popd
复制代码
解压EXE文件.bta
  1. @echo off
  2. for /f "delims=" %%i in ("%cd%") do set folder=%%~ni
  3. "%ProgramFiles%\WinRAR\RAR.exe" a -m0 -n*.exe #"%folder%"
  4. exit
复制代码
然后在根目录运行他们
  1. @echo off
  2. pushd "%~dp0"
  3. for /f %%i in ('dir name.bat /s /b') do %%i /passive /norestart /nobackup
复制代码
发表于 2011-5-17 02:32:10 | 显示全部楼层
6# y169168712


直接用for /r或者for /f + dir /s遍历所有的exe文件不行吗?
 楼主| 发表于 2011-5-18 10:14:29 | 显示全部楼层
7# Batcher
可以的,我只是想看一下有没有办法去掉生成1.txt这个环节,直接利用路径
今天我又想到可以替换复制这个环节,改成利用提取的路径直接在EXE目录生成批处理文件
最后我发现了一个问题 ,忍不住想说出来,希望你不要见怪
直接用for /r或者for /f + dis /s遍历所有的exe文件不行吗?

应该是dir你打成了dis
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 12:37 , Processed in 0.014931 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表