Welcome to Code Forum!

Join a community that supports you and your coding journey from day one. We strive to be a friendly, supportive community that empowers everyone to be better developers. By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • Guest, before posting your code please take these rules into consideration:
    • It is required to use our BBCode feature to display your code. While within the editor click < / > or >_ and place your code within the BB Code prompt. This helps others with finding a solution by making it easier to read and easier to copy.
    • You can also use markdown to share your code. When using markdown your code will be automatically converted to BBCode. For help with markdown check out the markdown guide.
    • Don't share a wall of code. All we want is the problem area, the code related to your issue.

    GIF shows where to locate </> in the thread and or post editor toolbar.
    To learn more about how to use our BBCode feature, review our "How to post your code into threads" here.

    Thank you, Code Forum.

JavaScript rename folders automatically when the pdf's inside have been seen

Søren

New Coder
i have tryed to make a script that creates a new folder every day and name it the name of the day inside a folder "A". for example today there was created a folder called "25-08-2023". it worked. Then i extended the script so if there are pdf's inside the newly created folder and they have been opened, the folder "25-08-2023" would automatically be renamed "25-08-2023-done".
the script is:

import os
import time

source_folder = r"C:\Users\sgund\OneDrive\Dokumenter\A"

def all_files_seen(files):
for file in files:
if not os.path.exists(file):
return False
file_stat = os.stat(file)
if time.time() - file_stat.st_atime > 0:
return False
return True

while True:
current_time = time.localtime()
if current_time.tm_hour == 8 and current_time.tm_min == 40:
subfolders = [folder for folder in os.listdir(source_folder) if os.path.isdir(os.path.join(source_folder, folder))]
for folder_name in subfolders:
folder_path = os.path.join(source_folder, folder_name)
if not folder_name.endswith("-Done"):
files_in_folder = [os.path.join(folder_path, file) for file in os.listdir(folder_path)]
if all_files_seen(files_in_folder):
new_folder_name = folder_name + "-Done"
new_folder_path = os.path.join(source_folder, new_folder_name)
os.rename(folder_path, new_folder_path)
print(f"Renamed folder: {folder_name} to {new_folder_name}")
else:
print(f"Not all files in folder {folder_name} have been seen.")
time.sleep(60) # Wait for 1 minute to avoid repeated checks
else:
time.sleep(10) # Check every 10 seconds

but i doesnt work. is there an easier way to create such a system, or can someone see something wrong with the script?
 

Buy us a coffee!

Buy me a coffee.
Back
Top Bottom