我如何复制除 2 个文件之外的所有文件

我如何复制除 2 个文件之外的所有文件

我想复制所有文件,但不包括 2 个文件。

例子:

/var/www/site-domain/htdocs/all 文件但不包括 .git 和 wp-config.php 文件

对不起我的英语不好 :)

答案1

与我之前的回答合并:一个想法是,是的,这是一个漫长的弯路,但是使用 OS 库编写一个 Python 脚本然后运行它。

花了一小会儿时间研究它,Python 文件的代码在下面 - 它也在我的 GitHub 上,以防你想要 .py 文件本身而不必复制粘贴它:https://github.com/n3xtd00rpanda/PythonPlayground/blob/master/copyfiles_final.py

记得安装python3,并使用它chmod +x来使文​​件可执行。

进行了大量测试,希望它能按预期工作!如果它解决了您的问题,请随意留下赞并选择我的答案作为满足您问题的答案。:-)

#!/usr/bin/env python3 

from fileinput import filename
import os, subprocess, shutil, sys
from re import search

files = []
full_file_path = ""

def fileCopy(nwd): 

    for file in os.listdir():
        file_name, file_extension = os.path.splitext(file)
        full_file_path = os.getcwd() + "/" + file_name + file_extension
        new_file_path = nwd + file_name + file_extension
        subs = ".git"
        if file_name.find(".git") == -1 and file_extension != ".git" and os.path.isfile(full_file_path) and file_name != "wp_config" and file_name != "copyfiles_nogitignore":
            print("Copying from: ", full_file_path)
            print("Copying to: ", new_file_path)
            shutil.copyfile(full_file_path, new_file_path)
        elif file_extension == ".git" or file_name.find("git") != -1 or file_name == "wp_config" and os.path.isfile(full_file_path):
            print("Found file: ", file_name, file_extension, " in working directory. Not copied.")

if __name__ == '__main__':
    fileCopy(sys.argv[1])

相关内容