Board logo

标题: [文件操作] 备份exe文件的两个批处理代码怎样合并到一起? [打印本页]

作者: y169168712    时间: 2011-5-15 21:53     标题: 备份exe文件的两个批处理代码怎样合并到一起?

  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这个环节
作者: Batcher    时间: 2011-5-15 23:08

能否在顶楼介绍下这两个代码的用处?
作者: applba    时间: 2011-5-15 23:58

Batcher 问:楼主在说什么?
作者: Batcher    时间: 2011-5-16 10:48

能否再解释一下往每个文件夹下面复制这些文件的用处是什么呢?
经常看到有人问类似的问题,我觉得挺好奇。
作者: Hello123World    时间: 2011-5-16 12:50

我能想到的唯一用途——利用ws2_32.dll进行限制程序运行。
作者: y169168712    时间: 2011-5-16 15:51

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
复制代码

作者: Batcher    时间: 2011-5-17 02:32

6# y169168712


直接用for /r或者for /f + dir /s遍历所有的exe文件不行吗?
作者: y169168712    时间: 2011-5-18 10:14

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

应该是dir你打成了dis




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2