For at kopiere alle *.js filer fra en kilde-mappe til en destinations-mappe rekursivt uden at overskrive eksisterende filer i destinations-mappen, kan du bruge følgende trin:
rsync med de rette flag og parametre. Her er et eksempel på en sådan kommando:rsync -av --ignore-existing source_directory/ destination_directory/ --include='*.js' --include='*/' --exclude='*'
Forklaring af kommandoen:
-a: Archive mode, som bevarer symbolske links, enheder, attributter, tilladelser, ejerskab osv.-v: Verbose mode, som giver detaljeret output.--ignore-existing: Undgår at overskrive eksisterende filer i destinations-mappen.source_directory/: Stien til kilde-mappen.destination_directory/: Stien til destinations-mappen.--include='*.js': Inkluderer alle .js filer.--include='*/': Inkluderer alle mapper rekursivt.--exclude='*': Ekskluderer alle andre filer.Bemærk: Sørg for at erstatte source_directory og destination_directory med de faktiske stier til dine mapper.
Alternativt kan du bruge et Python-script til at opnå det samme:
import os
import shutil
def copy_js_files(src, dst):
for root, dirs, files in os.walk(src):
for file in files:
if file.endswith('.js'):
src_file = os.path.join(root, file)
dst_file = os.path.join(dst, os.path.relpath(src_file, src))
dst_dir = os.path.dirname(dst_file)
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
if not os.path.exists(dst_file):
shutil.copy2(src_file, dst_file)
source_directory = 'path/to/source_directory'
destination_directory = 'path/to/destination_directory'
copy_js_files(source_directory, destination_directory)
Forklaring af Python-scriptet:
os og shutil.copy_js_files, som går rekursivt gennem kilde-mappen.os.makedirs til at oprette nødvendige mapper i destinations-mappen.shutil.copy2 til at kopiere filer med metadata.Husk at erstatte path/to/source_directory og path/to/destination_directory med de faktiske stier til dine mapper.
Har du brug for hjælp til filhåndtering eller programmering? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Uanset om det drejer sig om at organisere filer eller løse programmeringsudfordringer, er hjælp lige ved hånden.