Skip to content

Instantly share code, notes, and snippets.

@neosinan
Created February 18, 2021 22:13
Show Gist options
  • Save neosinan/ba1b954cffa9dd0752f9fa0cd09231d8 to your computer and use it in GitHub Desktop.
Save neosinan/ba1b954cffa9dd0752f9fa0cd09231d8 to your computer and use it in GitHub Desktop.
moverService
import socket
import win32serviceutil
import servicemanager
import win32event
import win32service
import shutil
import os
import time
from datetime import datetime
source = r'C:\Users\myusername\Desktop\New folder (2)'
destination = r'\\RASPBERRYPI\3tb\Desktop'
date_Now = ""
counter = 1
class moverService(win32serviceutil.ServiceFramework):
_svc_name_ = 'moverService'
_svc_display_name_ = 'moverPyService'
_svc_description_ = 'This Service moves files reclusively'
def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(self, args)
self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
socket.setdefaulttimeout(60)
def SvcDoRun(self):
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_, ''))
self.main()
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
def main(self):
now = datetime.now()
try:
while counter<2000:
file_names = os.listdir(source)
for file_name in file_names:
date_Now = now.strftime("%Y%m%d%H%M%S")
old_file = os.path.join(source, file_name)
new_file = os.path.join(source, date_Now+file_name)
os.rename(old_file, new_file)
shutil.move(os.path.join(source, new_file), destination)
counter += 1
time.sleep(5)
except: pass
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(moverService)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment