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.