[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理批量转移文件时copy,move中不能用变量?

  1. copy 1.txt 1
复制代码
这个可以,可是下面的却不可以
  1. set a=1.txt
  2. set b=1
  3. copy !a! !b!
复制代码
上周本来是想用copy吧喜欢的mp.3全部合并的可是出了错,但是也没在意。现在用批处理建立了一堆学好加姓名的文件夹,要把一些相应同学的txt文件放入文件夹里
可是发现copy,move等都不支持变量,这样的话我该怎么样批量转移这些文件啊?????
我把文件和文件夹放在同一个新文件夹下,对应的文件夹和文件的名字是一样的,在建立了一个批处理,如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%a in ('dir /a-d/b/w') do (
  4. set a=%%~na
  5. set b=%%a
  6. for /f %%b in ('dir /ad/b/w') do (
  7. set c=%%b
  8. if "!a!"=="!c!" (copy !b! !c!)
  9. )
  10. pause>nul
复制代码

上面括号少了个 不好意思   现在在上计算机课 没在宿舍 临时写的

TOP

经过测试LZ的code没有任何错误(除了少个括号).

你的"发现"很让人无语.
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

回复 3# hfg1977


为什么这样说呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

RES
  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. set a=01.txt
  4. set b=03.txt
  5. copy !a! !b!
复制代码
只需 "01.txt"存在, 无错."set b=1"也无错.
该不会是不使用"变量延时"吧?

第二个code也没错. 何谓"可是发现copy,move等都不支持变量"?
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

我天真的试了一下合并MP3,竟然没有损坏mp3文件,不过合并之后文件变大,但是歌曲内容跟第一个MP3一样。
  1. F:\MP3>copy /b yesterday.mp3+爱死了昨天.mp3 hello.mp3
  2. yesterday.mp3
  3. 爱死了昨天.mp3
  4. 已复制         1 个文件。
复制代码
hello.mp3放出的是yesterday.mp3的声音。

TOP

  1. @echo off
  2. set a=a.txt
  3. set b=c:\
  4. copy %a% %b%
  5. pause>nul
复制代码
赞同5楼的说法

TOP

回复 6# Hello123World


    COPY只是将文件按顺序罗列起来,不会对其中的内容进行更改,因此有一些人用它作一些简单的加密
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

回复 6# Hello123World

  1. copy "G:\music\童彤-天上草原Ⅲ DSD\02 牧野情歌.MP3" /b + "G:\music\童彤-天上草原Ⅲ DSD\06 鸿雁.MP3" /b test.mp3
  2. copy "G:\shoucang\music\APE\高胜美\高胜美-《杵歌》\02 追风的女儿.wav" /b + "G:\shoucang\music\APE\高胜美\高胜美-《杵歌》\10 乌来山下一朵花.wav" /b test.wav
复制代码


都只能播放第一首歌, 原因是这些文件依靠"文件头"来工作的. 合并后的文件只包括第一个文件的头部信息.


   
  1. VCD片段:copy 1.mpg+2.mpg 3.mpg
  2. 隐藏文件: copy 1.jpg /b + 1.txt /a 2.jpg
复制代码


.MPG文件没机会试了.
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

回复 9# hfg1977


    应该不是“文件头”,而是“文件尾”。
就像jpg+rar,jpg忽略特定字符后面,rar忽略特定字符前面。那么mp3之类的音乐文件也是忽略特定字符的后面(第一个特定字符的后面)。

TOP

回复 10# Hello123World

    或许吧,没仔细研究.
    往年学习汇编时收集的, 很不错哦
    文件格式大全,http://www.moon-soft.com/program/FORMAT/
1

评分人数

“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

回复 11# hfg1977


    哇,还有这种东西,赞一个!

TOP

回复 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同理;

TOP

各种文件的文件结构不尽相同,有的有"文件头"有的没有; 有的在"文件头"中指出了"数据部分"的字节数,且设置或不设置文件的结束标志.
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

返回列表