python 버 전의 windows 계획 작업 도구
계획 작업 도 구 는 자신 이 설정 한 구체 적 인 시간,주파수,명령 등 속성 에 따라 실행 할 계획 을 규정 합 니 다.
효과 도
코드
# -*- coding: utf-8 -*-
"""
Module implementing App.
"""
from PyQt4.QtGui import QMainWindow
from PyQt4.QtCore import pyqtSignature
import time,os
import QtUtil
import shutil
import time
from v.Ui_App import Ui_MainWindow
class App(QMainWindow, Ui_MainWindow):
"""
Class documentation goes here.
"""
def __init__(self, parent = None):
"""
Constructor
"""
QMainWindow.__init__(self, parent)
self.setupUi(self)
# 'res/command'
if os.path.exists('res/command'):
pass
else:
os.mkdir('res/command')
# self.startDate.textFromDateTime()
@pyqtSignature("")
def on_run_btn_clicked(self):
"""
.
"""
#
cmd = self.taskRun.toPlainText()
# 'res/command/01.txt'
if not os.path.exists('res/command/01.txt'):
m = open('res/command/01.txt','w')
m.close()
p = str(self.modifier.text())
#
if self.endDate.text() <= self.startDate.text():
QtUtil.showOkDialog(self, u' ', u' ')
elif not p.isdigit():
QtUtil.showOkDialog(self, u' ', u' ')
else:
# ,
if self.taskName.text()=='' or self.modifier.text()=='' or cmd=='':
QtUtil.showOkDialog(self, u' ', u' ')
else:
# 'res/command' filename
for root, dirs, files in os.walk('res/command'):
for file in files:
filename = open('res/filename.txt','a')
filename.write('/')
# filename.truncate()
filename.write(str(file))
filename.close()
filename1 = open('res/filename.txt')
fn = filename1.read()
filename1.close()
print fn
print '/' + str(self.taskName.text()) + '.cmd'
# filename ,
if '/' + str(self.taskName.text()) + '.cmd' in fn:
QtUtil.showOkDialog(self, u' ', u' ')
else:
#
if self.schedule.currentText() == 'monthly':
print 'monthly'
run = 'schtasks /create /tn '+ self.taskName.text() + ' /tr '+os.getcwd()+'/res/command/'+self.taskName.text()+'.bat /sc ' + self.schedule.currentText() + ' /d ' +self.modifier.text() + ' /m ' + self.month.currentText() + ' /st ' + self.timeEdit.text() + ' /sd ' + self.startDate.text() + ' /ed ' + self.endDate.text()
elif self.schedule.currentText() == 'once':
print 'once'
run = 'schtasks /create /tn '+ self.taskName.text() + ' /tr '+os.getcwd()+'/res/command/'+self.taskName.text()+'.bat /sc ' + self.schedule.currentText() + ' /st ' + self.timeEdit.text() + ' /sd ' + self.startDate.text()
if self.startDate.text() < time.strftime('%Y/%m/%d') or (self.timeEdit.text() <= time.strftime('%H:%M:%S') and self.startDate.text() == time.strftime('%Y/%m/%d')) :
QtUtil.showOkDialog(self, u' ', u' ')
return
else:
print 'not monthly'
run = 'schtasks /create /tn '+ self.taskName.text() + ' /tr '+os.getcwd()+'/res/command/'+self.taskName.text()+'.bat /sc ' + self.schedule.currentText() + ' /mo ' +self.modifier.text() + ' /st ' + self.timeEdit.text() + ' /sd ' + self.startDate.text() + ' /ed ' + self.endDate.text()
#
fd = open('res/command/'+self.taskName.text()+'.bat','w')
fd.write(cmd)
fd.close()
#
f = open('res/command/'+self.taskName.text()+'.cmd','w')
f.write(run)
f.close()
#
os.system(os.getcwd()+'\\res\command\\'+str(self.taskName.text())+'.cmd')
QtUtil.showOkDialog(self, u' ', u' ')
@pyqtSignature("")
def on_delete_btn_clicked(self):
"""
.
"""
#
x=os.system('schtasks /delete /tn '+str(self.taskDelete.text()).decode('gbk')+' /f')
# ,
if x==1:
QtUtil.showOkDialog(self, u' ', u' ')
else:
os.remove('res/filename.txt')
if os.path.exists('res/command/'+self.taskDelete.text()+'.cmd'):
os.remove('res/command/'+str(self.taskDelete.text())+'.bat')
os.remove('res/command/'+str(self.taskDelete.text())+'.cmd')
# 'res/command' filename
for root, dirs, files in os.walk('res/command'):
for file in files:
filename = open('res/filename.txt','a')
filename.write('/')
# filename.truncate()
filename.write(str(file))
filename.close()
filename1 = open('res/filename.txt')
fn = filename1.read()
filename1.close()
# ,
QtUtil.showOkDialog(self, u' ', u' ')
@pyqtSignature("")
def on_query_btn_clicked(self):
"""
.
"""
# 936 437 ,
os.system('chcp 437')
#
os.system('schtasks /query')
# log log
if os.path.exists('res/log.txt'):
os.remove('res/log.txt')
# 'res/command' , log
for root, dirs, files in os.walk('res/command'):
for file in files:
dir = str(root)+'/'+str(file)
f = open(dir,'r')
scripts = f.read()
new_path_filename = 'res/log.txt'
f = open(new_path_filename, 'a')
f.write(scripts)
f.write('
')
f.close()
# log
if os.path.exists('res/log.txt'):
fd=open('res/log.txt')
info = fd.read()
fd.close()
# log
self.taskQuery.setText(str(info))
else:
QtUtil.showOkDialog(self, u' ', u' ')
@pyqtSignature("")
def on_delall_btn_clicked(self):
"""
.
"""
os.system('schtasks /delete /tn * /f')
if os.path.exists('res/log.txt'):
os.remove('res/log.txt')
if os.path.exists('res/filename.txt'):
os.remove('res/filename.txt')
shutil.rmtree('res/command')
os.mkdir('res/command')
QtUtil.showOkDialog(self, u' ', u' ')
'퀘 스 트 이름'은 퀘 스 트 의 이름,계획 유형 선택 시간,주파수 작성 횟수 를 기입 합 니 다.계획 유형 에서 monthly 를 제외 한 다른 유형 은 모두 빈 도 를 기입 합 니 다.monthly 시 날짜 에 날짜 번 호 를 기입 합 니 다.월 도 monthly 를 선택 할 때 만 선택해 야 합 니 다.다른 시 기 는 선택 하지 않 아 도 됩 니 다.월 중*일 은 임 의 월 에 물 어보 고 그 다음 에 시작 시간,시작 날짜,종료 날짜,종료 날짜 가 시작 날짜 보다 크 고 마지막 으로 실행 할 명령 을 작성 하면 작업 이 성공 합 니 다.퀘 스 트 를 만 든 후 수시로 퀘 스 트 를 조회 할 수 있 습 니 다.퀘 스 트 를 조회 하면 됩 니 다.퀘 스 트 를 삭제 하려 면 삭제 할 퀘 스 트 이름 을 입력 하고 퀘 스 트 를 삭제 하려 면 클릭 하면 됩 니 다.퀘 스 트 를 삭제 하면 모든 퀘 스 트 를 삭제 할 수 있 습 니 다.본 사이트 의 글 은 아기 버스 SD.Team 오리지널 입 니 다.리 트 윗 은 반드시 명확 한 곳 에 표시 해 야 합 니 다.(작성 자 공식 사이트:아기 버스)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제한된 크기의 디렉토리를 만드는 방법오늘 저는 장치에 공간이 없을 때 백업 중에 응용 프로그램이 어떻게 작동하는지 테스트(및 수정)하는 작업이 있습니다. 결과적으로 "남은 공간 없음"오류로 백업이 실패하면 새 파일이 없어야 합니다. 지금까지 문제를 재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.