0

I am trying to move the contents from one folder to another while excluding some types of files. The script used so far,

OD_daily_files = "C:\\Users\\" + checkuser + "\\Gas South\\SRM Team - General\\Risk Management\\Storage\\EBB Downloads\\Daily_Files"
SD_daily_files = "S:\\Supply\\Risk Management\\Daily auto downloads\\Storage\\Daily_Files"
files = os.listdir(OD_daily_files)
       for x in files:
           shutil.copytree(OD_daily_files + "\\" + x, SD_daily_files, 
                       ignore=ignore_patterns('File_Examples*', '*.lnk', '*.pptx', '*.accdb', '*.bat'))

I keep getting the following error,

NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\Users\\GAS02224\\Gas South\\SRM Team - General\\Risk Management\\Storage\\EBB Downloads\\Daily_Files\\Access_Storage_Rev7.bat'

This file is in that directory/folder.

Cordell Jones
  • 93
  • 1
  • 8

2 Answers2

0

Use r-string.

OD_daily_files = r"C:\\Users\\" + checkuser + r"\\Gas South\\SRM Team - General\\Risk Management\\Storage\\EBB Downloads\\Daily_Files"
SD_daily_files = r"S:\\Supply\\Risk Management\\Daily auto downloads\\Storage\\Daily_Files"
files = os.listdir(OD_daily_files)
       for x in files:
           shutil.copytree(OD_daily_files + "\\" + x, SD_daily_files, 
                       ignore=ignore_patterns('File_Examples*', '*.lnk', '*.pptx', '*.accdb', '*.bat'))
Eftal Gezer
  • 191
  • 1
  • 8
  • I had tried that and it had given the below error, NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\\\Users\\\\GAS02224\\\\Gas South\\\\SRM Team - General\\\\Risk Management\\\\Storage\\\\EBB Downloads\\\\Daily_Files\\Access_Storage_Rev7.bat' – Cordell Jones Sep 29 '22 at 21:48
0

This was solved with the below code,

if checkuser != "ROBOT":
    OD_daily_files = "C:\\Users\\" + checkuser + "\\Gas South\\SRM Team - General\\Risk Management\\Storage\\EBB Downloads\\Daily_Files"
    SD_daily_files = "S:\\Supply\\Risk Management\\Daily auto downloads\\Storage\\Daily_Files"
    files = os.listdir(OD_daily_files)
    for x in files:
        try:
            shutil.copy(OD_daily_files + "\\" + x, SD_daily_files)
            print(x + " file was copied over to the S Drive.")
        except:
            print("")
            print(x + " file and/or folder was not copied over.")
            print("")
            next 
Cordell Jones
  • 93
  • 1
  • 8