标题: [文件操作] 备份exe文件的两个批处理代码怎样合并到一起? [打印本页]
作者: y169168712 时间: 2011-5-15 21:53 标题: 备份exe文件的两个批处理代码怎样合并到一起?
- @echo off&setlocal ENABLEDELAYEDEXPANSION
- ::提取d盘123文件夹(包括子文件夹)所有exe文件的路径并过滤重复路径
- 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
- ::向已提取的路径复制文件
- for /f "delims=" %%y in (1.txt) do (for %%u in (name1.bat name2.bat) do copy %%u "%%y")
- 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- @echo off
- pushd "%~dp0"
- "%ProgramFiles%\WinRAR\RAR.exe" x -y #*.rar
- popd
复制代码
解压EXE文件.bta- @echo off
- for /f "delims=" %%i in ("%cd%") do set folder=%%~ni
- "%ProgramFiles%\WinRAR\RAR.exe" a -m0 -n*.exe #"%folder%"
- exit
复制代码
然后在根目录运行他们- @echo off
- pushd "%~dp0"
- 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 |