关于DOS下的MOVE命令..

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于DOS下的MOVE命令..相关的知识,希望对你有一定的参考价值。

我想请问一下:在不使用通配符的情况下,MOVE命令不可以同时移动两个或以上的文件吗?如果可以的话应该怎么输入命令。前辈们说说看O(∩_∩)O谢谢..

功能:移动一个或多个文件到你指定的位置。MOVE 命令也可以用来重命名目录。

格式:MOVE [/Y|/-Y] [盘符:][路径]文件名[,[盘符:][路径]文件名[...]] 目标

参数:
要移动至少一个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定您想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号和冒号、一个目录名或组合。如果只移动一个文件并在移动时将其重命名,您还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。
/Y 取消确认改写一个现有目标文件的提示。
/-Y 对确认改写一个现有目标文件发出提示。
说明:
★MOVE命令可以跨分区移动文件,却不可以跨分区移动文件夹。
★对于跨分区移动文件时,如果目标位置存在和将要移动的文件同名时,系统会提示:“文件存在” 最后,命令将
不会执行。
★对于隐藏或系统属性的文件,只有把它们的属性去除后,move命令才会执行。
使用 MOVE 命令可以轻松地在不同的目录间移动文件。在 MS-DOS 6.22 或者更早的
版本中,REN 命令不可以用来更改目录的名字。MOVE 命令可以帮助你做这件事。自从视窗
95 开始,这一限制不再存在。在视窗 NT 系统中,MOVE 命令是一个内部命令所以你看不见
它的可执行文件 MOVE.EXE。MOVE 命令的语法很简单,就是“MOVE 源 目标”。注意视窗
NT 中的 MOVE 命令不支持指定多个“源”。一件奇怪的事情就是命令行上的“MOVE”
帮助,也就是“MOVE /?”或者“HELP MOVE”,里面说 MOVE 命令支持多个源,但实际上
它不支持。视窗帮助文件在这个问题上是正确的。

举例:
例1
move d:\\abc d:\\abcd
如果把文件夹abc移到文件夹abcd内。
例2
move 123.txt abc
把当前目录下的123.txt移动到当前文件夹abc内。这里都使用了相对路径,缺省路径情况下默认为当前目录。
例3
move 123.txt e:\\abc
把当前目录下的123.txt移动到e:\\abc目录下。
------------------------------------------------------------------------------------------------------
2.重命名文件(夹)
例4
move d:\\abc d:\\abcd
这里要注意一下,如果目标文件夹abcd不存在,则把abc移到d:\\下,并把自身名称更改为abcd。
利用这一特性,move命令具备重命名功能。
例5
move d:\\123.txt d:\\abc\\456.txt
如果 456.txt存在,系统将会提示你:改写 D:\\456.txt 吗? (Yes/No/All):
当你输入Y后则123.txt会覆盖456.txt。如果456.txt不存在,则把123.txt移到d:\\abc目录下,并重命名为456.txt。
例6
move /y 123.txt 456.txt
如果123.txt和456.txt都存在,通过/y参数后,系统不会提示你,而直接把123.txt覆盖456.txt。
例7
move 123.txt e:\\abc\\456.txt
对于跨区移动,如果456.txt存在会提示:文件存在。命令不会执行;如果456.txt不存在,则把123.txt移到e:\\abc
目录下,并重命名为456.txt。
总结一下:
对于move A B这样的模式
1、如果A、B同为文件夹名,
①如果B存在,则把A移动到B目录下。
②如果B不存在,则把A移动到B所在的目录下,同时重命名为B。
2、如果A为文件名,B为文件夹名,
  ① 将把A移动到B目录下。
② 如果B文件夹内有和A文件同名的:
I A和B为同一分区,则提示:是否覆盖/不覆盖/全部覆盖?
II A和B为不同分区,则提示:文件存在。不做任何操作!
3、如果A、B同为文件名,
①A和B为同一分区,如果B存在,则系统会提示你是否将把A重命名为B;如果B不存在就把A移动到B所在的目录下
的同时,重命名 为B。
②A和B为不同分区,如果B存在,则命令不执行;如果B不存在,则把A移动到B所在的目录下并重命名为B。
参考技术A move不支持你说的情况,但是可以换种思路。用for命令与move结合比如:for %%l in (%*) do move %%l H:\ 可以一次最多支持九个文件移动到目标位置把9个或者9个以下的文件拖到批处理图标上 比如:for %%l in (文件1 文件2 文件3 文件4) do move %%l H:\ 可以自己定义要移动的文件以及数目。添加需要移动的文件,移动到目标位置 以下是move的语法结构移动文件并重命名文件和目录。要移动至少一个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2 [drive:][path]filename1 指定您想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,您还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。 /Y 取消确认改写一个现有目标文件的提示。
/-Y 对确认改写一个现有目标文件发出提示。命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内
执行的,改写时都发出提示。
参考技术B   move     移动文件,改目录名  [适用场合]  移动文件到别的目录 [用  法]  move [文件名] [目录]        移动文件至新目录下         move [目录名] [目录名]       改目录名 [例  子]  c:\>move c:\autoexec.bat c:\old�         移动autoexec.bat文件至old目录下         c:\>move c:\config.sys c:\temp�         移动config.sys文件至old目录下

以上是关于关于DOS下的MOVE命令..的主要内容,如果未能解决你的问题,请参考以下文章

第12课:常用DOS命令

请问BAT中的命令 COPY和XCOPY有啥区别,还有REN和MOVE又有啥区别?

关于DOS与cmd(windows系统)

怎么通过命令把一个文件移动到另一个文件夹

2/23 测试基础

实验一熟悉DOS命令