Ga naar inhoud

Bestand(je) naar meerdere mappen kopieren


Toontje B

Aanbevolen berichten

In een ander topic werd gevraagd hoe je makkelijk een bestandje kunt kopieren naar een serie (sub) mappen.

 

Ik had dezelfde vraag maar dan een map (met inhoud) kopieren naar een subset van mappen. Mijn collega kwam met een stukje python script dit dit heel snel voor je kan doen :-)

 

Hieronder het script. Deze tekst in een textbestand zetten en de extensie aanpassen van .txt naar .py

  • In het scriptje kan je de map "ignore" vervangen door een naam van een willekeurige map OF bestandsnaam die jij gekopieerd wilt hebben
  • Zorg dat je in de map waarin je dit  .py scriptje zet de map "ignore" of de door jou gewenste map of bestand staat
  • Dubbelklik op het 

 

LET OP: hiervoor moet je wel python geinstalleerd hebben :-) om uit te kunnen voeren

 

import os
import shutil

if __name__ == "__main__":
""" Kopieer de map "ignore" naar alle submappen in de huidige map
	Je kunt "ignore" aanpassen naar elke willekeurige map die jij gekopieerd wilt hebben
	Een bestandsnaam mag/kan ook
"""
	
	# haal de lijst op van alle submappen
	dirNames = os.listdir(".")
	# heel de map "ignore" uit de lijst met te kopieren mappen, anders kopieer je naar jezelf (!)
	dirNames.remove("ignore")
	
	# Voor alle submappen in de huidige map
	for dirName in dirNames:
		
		# haal de namen op van alle mappen
		dirPath = os.path.abspath(dirName)
		
		# ALS er submappen zijn
		if os.path.isdir(dirPath):

			# selecteer de te kopieren map of bestandsnaam (hier: ignore)	
			ignorePath = os.path.join(dirPath, "ignore")

			# als de te kopieren map/bestand bestaat
			if not os.path.exists(ignorePath):
				# kopieer deze naar alle submappen
				shutil.copytree(os.path.abspath("ignore"), ignorePath)

			# toon de namen van alle mappen waarheen het gekopieerd wordt
			print ignorePath

 

Link naar reactie
Delen op andere sites

Hoi Stegisoft,

Eigenlijk reageerde ik op dit topic: 

 

Via PowerShell zou je vast ook wel iets kunnen doen. Ikke zo niet, zou ik in moeten duiken ;-)

 

Voor mij was het zo dat ik een bepaalde map (in dit geval: ignore) naar een heleboel submappen wilde kopieren, zonder dat ik naar elke map moest gaan en dan op Ctrl + v klikken, weer terug gaan, volgende submap, Cltrl + v etc etc.

Via het python script (dat ik met wat verklarende tekst heb aangevuld) ging het in een keer. Ik hoefde er alleen voor te zorgen dat ik de map en het scriptje op de juiste plek zetten en dan uitvoeren. In 3 seconden was het kopieren klaar :-)

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.