RPA / Robocorp
Files and folders / Copy
Copy a single file
tasks.py
from robocorp.tasks import task
import shutil
@task
def copy_file():
source = "my-file.txt"
destination = "my-folder/my-file.txt"
shutil.copy(source, destination)
Copy multiple files
tasks.py
from robocorp.tasks import task
import shutil
import os
@task
def copy_files():
# List of source and destination file paths as tuples
file_paths = [
("my_file1.txt", "my_folder1/my_file1.txt"),
("my_file2.txt", "my_folder2/my_file2.txt")
]
for source, destination in file_paths:
try:
# Create destination folder if it doesn't exist
destination_folder = os.path.dirname(destination)
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
print(f"Destination folder '{destination_folder}' created successfully.")
# Copy the file to the destination
shutil.copy(source, destination)
print(f"File '{source}' has been copied to '{destination}' successfully.")
except Exception as e:
print(f"An error occurred while copying '{source}' to '{destination}': {e}")
Copy a single folder
tasks.py
from robocorp.tasks import task
import shutil
@task
def copy_folder():
source = "my-folder1"
destination = "my-folder2/subfolder"
shutil.copytree(source, destination)
Copy multiple folders
tasks.py
from robocorp.tasks import task
import shutil
import os
@task
def copy_folders():
# List of source and destination folder paths as tuples
folder_paths = [
("my-folder1", "backup-folder1/subfolder"),
("my-folder2", "backup-folder2/subfolder")
]
for source, destination in folder_paths:
try:
# Check if the source folder exists
if not os.path.exists(source):
print(f"Source folder '{source}' does not exist. Skipping...")
continue
# If the destination already exists, delete it to allow overwriting
if os.path.exists(destination):
shutil.rmtree(destination)
print(f"Destination folder '{destination}' already existed and was overwritten.")
# Copy the source folder to the destination
shutil.copytree(source, destination)
print(f"Folder '{source}' has been copied to '{destination}' successfully.")
except Exception as e:
print(f"An error occurred while copying '{source}' to '{destination}': {e}")