move的使用非常简单,
基本格式为:move A B。
--A表示你想要执行移动操作的文件或文件夹,
--B表示A被移动后保存的位置
而A可以使用相对路径,也可以使用绝对路径,甚至可以使用通配符,但是,在move执行移动文件的功能的时候,B只能是目录路径,而不能是文件路径——很难想象,你要把a.txt文件移动到b.txt文件里去(合并文件是做不到的)
...
需要特别注意的是:move不能跨分区移动文件夹。
这个自动执行时确实有问题,不知道为什么备份不过去。
但我手动测试好像也可以的:
E:>echo Y|move e:auto_bak*.jpg g:aa_bakaa_%date:~12,1%.txt
e:auto_bakdd.jpg
移动了 1 个文件。
...
移动时可以重命名
如果你想把a.txt移动到b.txt文件里去,操作系统肯定会很不高兴。如你执行下面的命令:
move a.txt b.txt!
你会发现,对于你的胡缠蛮搞,操作系统也没拦着你,它很顺从地执行了你的命令,但是,结果并没有像你所期望的那样:把a.txt放进b.txt里面去,而是把a.txt改名为b.txt了。
在 move A B 这样的命令中,move具备移动文件(夹)的基本功能,还兼有重命名文件(夹)的功效,具体起什么作用,视情况决定:
1、如果A、B同为文件夹名,则把A移动到B目录下;
2、如果A为文件名,
① B为文件夹名的时候,将把A移动到B目录下;
② B为文件名的时候,将把A重命名为B;如果B所在的位置为另一目录,则表示在把A移动到B所在的目录下的同时,重命名为B。
所以可以代替Ren命令使用:
如果只是单纯地重命名文件,则ren和move任选其一即可,只是move的写法显得有点怪异而已;
如果在要移动文件之后,还要重命名文件,选择 move c: est.txt d:abc1.txt 的写法将一步到位。
而先 move c: est.txt d:abc 之后,再ren d:abc est.txt 1.txt 的写法将显得繁琐,
最不可取的做法,是先copy,再del/rd,最后再ren,这是追求代码至精至简的人士所不能容忍的铺张浪费行为。
...
如果有重名文件出现,move不会成功,会提示:改写××吗?(Yes/No/All)。
可以加y参数去掉提示: move /y A B
...
有时会提示:系统找不到指定文件。
但A明明是存在的,原来move不能够识别出带隐藏或系统属性的文件,在这些文件面前,它成了瞎子。
这不是move太无能,而是微软为了安全起见,限制了很多危险命令对带有隐藏或系统属性的文件进行直接操作——del、ren都是这副德性;而rd命令,则属于漏网之鱼,是个例外,要不然,微软的系统就不会有打补丁一说了。
解决办法,只能老老实实地先用attrib命令去掉这些文件的隐藏或系统属性,再来move吧。
Tag: Dos命令 批处理 windows