欢迎访问宙启技术站
智能推送

使用Python编写一个CMD脚本来实现文件的拷贝和移动

发布时间:2023-12-14 22:46:28

以下是使用Python编写一个CMD脚本来实现文件的拷贝和移动的示例代码:

import shutil
import os
import sys


def copy_file(source, destination):
    """
    将源文件拷贝到目标位置
    :param source: 源文件路径
    :param destination: 目标文件路径
    """
    try:
        shutil.copy(source, destination)
        print(f"文件 {source} 成功拷贝到 {destination}")
    except Exception as e:
        print(f"拷贝文件时出现错误: {e}")


def move_file(source, destination):
    """
    将源文件移动到目标位置
    :param source: 源文件路径
    :param destination: 目标文件路径
    """
    try:
        shutil.move(source, destination)
        print(f"文件 {source} 成功移动到 {destination}")
    except Exception as e:
        print(f"移动文件时出现错误: {e}")


def main():
    if len(sys.argv) != 4:
        print("使用方法:")
        print("文件拷贝:python script.py copy 源文件路径 目标文件路径")
        print("文件移动:python script.py move 源文件路径 目标文件路径")
        sys.exit(1)

    operation = sys.argv[1]
    source_file = sys.argv[2]
    destination_file = sys.argv[3]

    if operation == "copy":
        copy_file(source_file, destination_file)
    elif operation == "move":
        move_file(source_file, destination_file)
    else:
        print("无效的操作选项,只支持 copy 和 move.")


if __name__ == "__main__":
    main()

以上脚本中,我们使用了Python的shutil模块来实现文件的拷贝和移动功能。脚本接受三个命令行参数:操作选项(copy或move)、源文件路径和目标文件路径。

copy_file函数中,我们调用了shutil.copy函数将源文件拷贝到目标位置,并通过异常处理来捕获任何拷贝错误。

move_file函数中,我们调用了shutil.move函数将源文件移动到目标位置,并同样通过异常处理来捕获任何移动错误。

main函数中,我们首先检查命令行参数的数量是否正确,并且根据操作选项调用相应的函数。如果操作选项不是"copy"或"move",则打印错误信息。

以下是在命令行中执行该脚本的示例:

文件拷贝:python script.py copy source_file.txt destination_file.txt
文件移动:python script.py move source_file.txt destination_file.txt