移动文件(夹):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                     对确认改写一个现有目标文件发出提示。
------------------------------------------------------------------------------------------------------

1.移动文件(夹)
基本格式:MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination

[drive:][path]filename1[,...]
想要移动的文件(夹)可以使用相对路径,也可以使用绝对路径,缺省路径情况下默认为当前目录。

Destination 只能是目录路径, 可以使用相对路径,也可以使用绝对路径,缺省路径情况下默认为当前目录。

例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命令可以跨分区移动文件,却不可以跨分区移动文件夹。
★对于跨分区移动文件时,如果目标位置存在和将要移动的文件同名时,系统会提示:“文件存在” 最后,命令将
不会执行。
★对于隐藏或系统属性的文件,只有把它们的属性去除后,move命令才会执行。


我们还是来总结一下:

对于move A B这样的模式

1、如果A、B同为文件夹名,
   ①如果B存在,则把A移动到B目录下。(如例1);
   ②如果B不存在,则把A移动到B所在的目录下,同时重命名为B。(如例4)。

2、如果A为文件名,B为文件夹名,
  ① 将把A移动到B目录下。(如例2,例3);
   ② 如果B文件夹内有和A文件同名的:
      I A和B为同一分区,则提示:是否覆盖/不覆盖/全部覆盖?
      II A和B为不同分区,则提示:文件存在。不做任何操作!

3、如果A、B同为文件名,
   ①A和B为同一分区,如果B存在,则系统会提示你是否将把A重命名为B;如果B不存在就把A移动到B所在的目录下
     的同时,重命名 为B。(如例5);
   ②A和B为不同分区,如果B存在,则命令不执行;如果B不存在,则把A移动到B所在的目录下并重命名为B。(如例
     7)。

#0. 在当前文件夹内创建自己的文件夹,命名方式为:学号_姓名, import os #os.getcwd() #获取当前工作目录,即当前程序文件所在的文件夹 #os.mkdir(path) 创建文件夹 #1. 在 “学号_姓名” 文件夹创建五个子文件夹: 1_诗词, 2_图片,3_视频,4_备份,5_其它 import os #2. 在上面 “学号_姓名” 文件夹创建100个子件:000,001,002,......099. #3. 将 “学号_姓名” 文件夹中前50个文件夹:000,001,002,......049删除. #删除文件夹 os.removedirs(path) #4. 将 "5_其它" 更名为 "5_myblcu" import os #5. 创建多级目录: os.makedirs("C:\AAA\BBB\CCC") # 作业内容: #1.获取当前工作目录wd #2.在当前工作目录中创建: #wd\你的姓名\python\第1章 #wd\你的姓名\python\第2章 #wd\你的姓名\python\第3章 #wd\你的姓名\python\第4章 #wd\你的姓名\python\第5章 #wd\你的姓名\python\第6章 #wd\你的姓名\python\第7章 #wd\你的姓名\python\第8章 #6. 将 "5_myblcu" 中所有文件文件夹压缩为 "blcu.zip"文件,并保存 5_myblcu \zip\ 中 # 注意:压缩属于归档! # make_archive() # 功能:归档函数,归档操作 # 格式:shutil.make_archive('目标文件路径[没有自创建]','归档文件后缀','需要归档的目录') # 返回值:归档文件的最终路径 #7 在 “学号_姓名” 文件夹中,将050,001,002,......099移到 "4_备份" 文件夹中. # import shutil # move() # 功能:移动文件或者文件夹 # 格式:shutil.move(来源地址,目标地址) # 返回值:目标地址 #8. 将“学号_姓名” 文件夹中 4_备份 文件夹复制到将 "5_myblcu" 中 # import shutil # copyfile() # 功能:将一个文件的内容拷贝的另外一个文件当中 # 格式:shutil.copyfile(来源文件,目标文件) # 返回值:目标文件的路径 import shutil
06-02
好的,下面是Python代码实现以上操作的方法: 1. 在当前文件夹创建自己的文件夹,命名方式为:学号_姓名 ```python import os # 获取当前工作目录,即当前程序文件所在的文件夹 wd = os.getcwd() # 学号_姓名 folder_name = "12345678_小明" # 创建文件夹 os.mkdir(os.path.join(wd, folder_name)) ``` 2. 在 “学号_姓名” 文件夹创建五个子文件夹: 1_诗词,2_图片,3_视频,4_备份,5_其它 ```python # 在 “学号_姓名” 文件夹创建五个子文件夹 subfolders = ["1_诗词", "2_图片", "3_视频", "4_备份", "5_其它"] for folder in subfolders: os.mkdir(os.path.join(wd, folder_name, folder)) ``` 3. 在 “学号_姓名” 文件夹中创建100个子件:000,001,002,......099. ```python # 在 “学号_姓名” 文件夹中创建100个子件 for i in range(100): os.mkdir(os.path.join(wd, folder_name, "{:03d}".format(i))) ``` 4. 将 "5_其它" 更名为 "5_myblcu" ```python # 将 "5_其它" 更名为 "5_myblcu" os.rename(os.path.join(wd, folder_name, "5_其它"), os.path.join(wd, folder_name, "5_myblcu")) ``` 5. 创建多级目录 ```python # 创建多级目录 os.makedirs(os.path.join(wd, folder_name, "python", "第1章")) os.makedirs(os.path.join(wd, folder_name, "python", "第2章")) os.makedirs(os.path.join(wd, folder_name, "python", "第3章")) os.makedirs(os.path.join(wd, folder_name, "python", "第4章")) os.makedirs(os.path.join(wd, folder_name, "python", "第5章")) os.makedirs(os.path.join(wd, folder_name, "python", "第6章")) os.makedirs(os.path.join(wd, folder_name, "python", "第7章")) os.makedirs(os.path.join(wd, folder_name, "python", "第8章")) ``` 6. 将 "5_myblcu" 中所有文件文件夹压缩为 "blcu.zip"文件,并保存 5_myblcu \zip\ 中 ```python # 将 "5_myblcu" 中所有文件文件夹压缩为 "blcu.zip"文件,并保存 5_myblcu \zip\ 中 import shutil folder_to_zip = os.path.join(wd, folder_name, "5_myblcu") zip_folder = os.path.join(wd, folder_name, "5_myblcu", "zip") if not os.path.exists(zip_folder): os.makedirs(zip_folder) shutil.make_archive(os.path.join(zip_folder, "blcu"), "zip", folder_to_zip) ``` 7. 在 “学号_姓名” 文件夹中,将050,001,002,......099移到 "4_备份" 文件夹中 ```python # 在 “学号_姓名” 文件夹中,将050,001,002,......099移到 "4_备份" 文件夹中 for i in range(50, 100): shutil.move(os.path.join(wd, folder_name, "{:03d}".format(i)), os.path.join(wd, folder_name, "4_备份")) ``` 8. 将“学号_姓名” 文件夹中 4_备份 文件夹复制到将 "5_myblcu" 中 ```python # 将“学号_姓名” 文件夹中 4_备份 文件夹复制到将 "5_myblcu" 中 shutil.copytree(os.path.join(wd, folder_name, "4_备份"), os.path.join(wd, folder_name, "5_myblcu", "备份")) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值