标题: [文件操作] 批处理批量转移文件时copy,move中不能用变量? [打印本页]
作者: BS0小陈 时间: 2011-9-8 10:19 标题: 批处理批量转移文件时copy,move中不能用变量?
复制代码
这个可以,可是下面的却不可以- set a=1.txt
- set b=1
- copy !a! !b!
复制代码
上周本来是想用copy吧喜欢的mp.3全部合并的可是出了错,但是也没在意。现在用批处理建立了一堆学好加姓名的文件夹,要把一些相应同学的txt文件放入文件夹里
可是发现copy,move等都不支持变量,这样的话我该怎么样批量转移这些文件啊?????
我把文件和文件夹放在同一个新文件夹下,对应的文件夹和文件的名字是一样的,在建立了一个批处理,如下:- @echo off
- setlocal enabledelayedexpansion
- for /f %%a in ('dir /a-d/b/w') do (
- set a=%%~na
- set b=%%a
- for /f %%b in ('dir /ad/b/w') do (
- set c=%%b
- if "!a!"=="!c!" (copy !b! !c!)
- )
- pause>nul
复制代码
作者: BS0小陈 时间: 2011-9-8 10:21
上面括号少了个 不好意思 现在在上计算机课 没在宿舍 临时写的
作者: hfg1977 时间: 2011-9-8 14:10
经过测试LZ的code没有任何错误(除了少个括号).
你的"发现"很让人无语.
作者: Batcher 时间: 2011-9-8 18:21
回复 3# hfg1977
为什么这样说呢?
作者: hfg1977 时间: 2011-9-8 19:38
RES- @echo off
- setlocal enabledelayedexpansion&cls
- set a=01.txt
- set b=03.txt
- copy !a! !b!
复制代码
只需 "01.txt"存在, 无错."set b=1"也无错.
该不会是不使用"变量延时"吧?
第二个code也没错. 何谓"可是发现copy,move等都不支持变量"?
作者: Hello123World 时间: 2011-9-9 16:11
我天真的试了一下合并MP3,竟然没有损坏mp3文件,不过合并之后文件变大,但是歌曲内容跟第一个MP3一样。- F:\MP3>copy /b yesterday.mp3+爱死了昨天.mp3 hello.mp3
- yesterday.mp3
- 爱死了昨天.mp3
- 已复制 1 个文件。
复制代码
hello.mp3放出的是yesterday.mp3的声音。
作者: Hello123World 时间: 2011-9-9 16:16
- @echo off
- set a=a.txt
- set b=c:\
- copy %a% %b%
- pause>nul
复制代码
赞同5楼的说法
作者: wc726842270 时间: 2011-9-9 17:47
回复 6# Hello123World
COPY只是将文件按顺序罗列起来,不会对其中的内容进行更改,因此有一些人用它作一些简单的加密
作者: hfg1977 时间: 2011-9-9 18:42
回复 6# Hello123World
- copy "G:\music\童彤-天上草原Ⅲ DSD\02 牧野情歌.MP3" /b + "G:\music\童彤-天上草原Ⅲ DSD\06 鸿雁.MP3" /b test.mp3
- copy "G:\shoucang\music\APE\高胜美\高胜美-《杵歌》\02 追风的女儿.wav" /b + "G:\shoucang\music\APE\高胜美\高胜美-《杵歌》\10 乌来山下一朵花.wav" /b test.wav
复制代码
都只能播放第一首歌, 原因是这些文件依靠"文件头"来工作的. 合并后的文件只包括第一个文件的头部信息.
- VCD片段:copy 1.mpg+2.mpg 3.mpg
-
- 隐藏文件: copy 1.jpg /b + 1.txt /a 2.jpg
复制代码
.MPG文件没机会试了.
作者: Hello123World 时间: 2011-9-9 18:57
回复 9# hfg1977
应该不是“文件头”,而是“文件尾”。
就像jpg+rar,jpg忽略特定字符后面,rar忽略特定字符前面。那么mp3之类的音乐文件也是忽略特定字符的后面(第一个特定字符的后面)。
作者: hfg1977 时间: 2011-9-9 19:07
回复 10# Hello123World
或许吧,没仔细研究.
往年学习汇编时收集的, 很不错哦
文件格式大全,http://www.moon-soft.com/program/FORMAT/
作者: Hello123World 时间: 2011-9-9 19:10
回复 11# hfg1977
哇,还有这种东西,赞一个!
作者: Hello123World 时间: 2011-9-9 19:14
回复 11# hfg1977
jpg文件是以16进制的FFD9结尾的,其之后数据都会被自动忽略。我们找到FFD9,发现其后接的果然是Rar文件的起始标记:Rar!。
FF D9 52 61 72 21
巧合的是,rar格式的文件会将Rar!之前的内容全部忽略。因些,结合这两点,可以巧妙的实现将rar文件隐藏于jpg文件中。
http://jl453625978.blog.163.com/ ... 170520116263547628/
音频文件因该跟jpg同理;
作者: hfg1977 时间: 2011-9-9 19:33
各种文件的文件结构不尽相同,有的有"文件头"有的没有; 有的在"文件头"中指出了"数据部分"的字节数,且设置或不设置文件的结束标志.
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |