2016-08-20 6 views
-4

Ich habe einen einfachen DOS-Klon Ich rufe JDOS oder Jacobs DOS, und ich frage mich, was es fehlt?Was muss hinzugefügt werden

Wenn Sie es versuchen, gibt es einen Befehl, der nicht (absichtlich) admin genannt wird. Das Passwort ist leer, drücken Sie einfach die Eingabetaste.

Ich bin ein Anfänger Programmierer in Python, also machen Sie es eine Herausforderung, aber nicht zu schwer, bitte.

Hier ist das Skript:

def jdos1(): 
    print " Boot JDOS.exe?" 
    answer = raw_input(" [y] or [n]").lower() 
    if answer == "y" or answer == "[y]": 
     import time 
     time.sleep(1) 
     print " Welcome to JDOS" 
     time.sleep(1) 
     print " Type cmds for a list of all avalible commands" 
     def jdos2(): 
      cmd = raw_input().lower() 
      if cmd == "exit": 
       print " Exiting JDOS" 
       time.sleep(1) 
      elif cmd == "info": 
       print "JDOS Script 1.4.0. Created by Jacob Snyder [email protected]" 
       jdos2() 
      elif cmd == "ver": 
       print "JDOS 1.4.0" 
       jdos2() 
      elif cmd == "upd": 
       print "" 
       jdos2() 
      elif cmd =="admin": 
       password = raw_input(" Please enter your admin password.") 
       def admin(): 
        if password == "".lower(): 
         print " rebooting in admin mode" 
         time.sleep(1) 
         print " Welcome to JDOS-Admin" 
         def admin2(): 
          cmd = raw_input().lower() 
          if cmd == "exit": 
           print " Exiting JDOS-Admin" 
           time.sleep(3) 
          elif cmd == "password": 
           print " Your password is, %s" % (password) 
           admin2() 
          elif cmd == "admin": 
           print " Already booted in admin mode" 
           admin2() 
          elif cmd == "format": 
           print " Formatting D:" 
           time.sleep(3) 
          elif cmd == "ver": 
           print " JDOS 1.4.0" 
           admin2() 
          elif cmd == "info": 
           print " JDOS-Admin Script 1.4.0. Created by Jacob Snyder [email protected]" 
           admin2() 
          elif cmd == "upd": 
           print "" 
           admin2() 
          elif cmd == "date": 
           from datetime import datetime 
           now = datetime.now() 
           print ' %s/%s/%s' % (now.month, now.day, now.year) 
           admin2() 
          elif cmd == "add": 
           inp1 = float(raw_input(" Enter 1st integer:")) 
           inp2 = float(raw_input(" Enter 2nd integer:")) 
           oup1 = inp1 + inp2 
           print " %s+%s=%s" % (inp1, inp2, oup1) 
           admin2() 
          elif cmd == "subtract": 
           inp1 = float(raw_input(" Enter 1st integer:")) 
           inp2 = float(raw_input(" Enter 2nd integer:")) 
           oup1 = inp1 - inp2 
           print " %s-%s=%s" % (inp1, inp2, oup1) 
           admin2() 
          elif cmd == "multiply": 
           inp1 = float(raw_input(" Enter 1st integer:")) 
           inp2 = float(raw_input(" Enter 2nd integer:")) 
           oup1 = inp1 * inp2 
           print " %sx%s=%s" % (inp1, inp2, oup1) 
           admin2() 
          elif cmd == "divide": 
           inp1 = float(raw_input(" Enter 1st integer:")) 
           inp2 = float(raw_input(" Enter 2nd integer:")) 
           oup1 = inp1/inp2 
           print " %s/%s=%s" % (inp1, inp2, oup1) 
           admin2() 
          elif cmd == "cmds" or cmd == "cmd": 
           print " cmds, date, add, subtract, multiply, divide, password, admin, format, ver, info, upd, exit" 
           admin2() 
          else: 
           print " Invalid command" 
           admin2() 
         admin2() 
        elif password == "cancel": 
         print " Canceling" 
        else: 
         print " Incorrect password" 
       admin() 
      elif cmd == "secret": 
       print " Congrats on finding the secret, Heres a cookie!              . ____              ./- . \              |, - * |              .\____/" 
       jdos2() 
      elif cmd == "date": 
       from datetime import datetime 
       now = datetime.now() 
       print ' %s/%s/%s' % (now.month, now.day, now.year) 
       jdos2() 
      elif cmd == "add": 
       inp1 = float(raw_input(" Enter 1st integer:")) 
       inp2 = float(raw_input(" Enter 2nd integer:")) 
       oup1 = inp1 + inp2 
       print "%s+%s=%s" % (inp1, inp2, oup1) 
       jdos2() 
      elif cmd == "subtract": 
       inp1 = float(raw_input(" Enter 1st integer:")) 
       inp2 = float(raw_input(" Enter 2nd integer:")) 
       oup1 = inp1 - inp2 
       print "%s-%s=%s" % (inp1, inp2, oup1) 
       jdos2() 
      elif cmd == "multiply": 
       inp1 = float(raw_input(" Enter 1st integer:")) 
       inp2 = float(raw_input(" Enter 2nd integer:")) 
       oup1 = inp1 * inp2 
       jdos2() 
      elif cmd == "divide": 
       inp1 = float(raw_input(" Enter 1st integer:")) 
       inp2 = float(raw_input(" Enter 2nd integer:")) 
       oup1 = inp1/inp2 
       print "%s/%s=%s" % (inp1, inp2, oup1) 
       jdos2() 
      elif cmd == "cmds" or cmd == "cmd": 
       print " cmds, date, add, subtract, multiply, divide, info, upd, ver, exit" 
       jdos2() 
      else: 
       print " Invalid command" 
       jdos2() 
     jdos2() 
    elif answer == "n": 
     print "" 
    else: 
     print " Invalid command" 
     jdos1() 

jdos1() 
+2

Diese Frage zu implementieren äußerst vage ist und Sie hat uns eine Menge Code zum Lesen gegeben. Warum glaubst du, dass etwas fehlt? Welches Verhalten erwarten Sie und was sehen Sie stattdessen? – jcolemang

+1

Ich stimme zu, diese Frage als Off-Topic zu schließen, da es sich nicht um eine Frage der Programmierung handelt. – smarx

Antwort

0

Jacob, help auf einer cmd Aufforderung laufen und Sie werden eine riesige Liste der verfügbaren Befehle erhalten Sie

 
C:\>help 
For more information on a specific command, type HELP command-name 
ASSOC   Displays or modifies file extension associations. 
ATTRIB   Displays or changes file attributes. 
BREAK   Sets or clears extended CTRL+C checking. 
BCDEDIT  Sets properties in boot database to control boot loading. 
CACLS   Displays or modifies access control lists (ACLs) of files. 
CALL   Calls one batch program from another. 
CD    Displays the name of or changes the current directory. 
CHCP   Displays or sets the active code page number. 
CHDIR   Displays the name of or changes the current directory. 
CHKDSK   Checks a disk and displays a status report. 
CHKNTFS  Displays or modifies the checking of disk at boot time. 
CLS   Clears the screen. 
CMD   Starts a new instance of the Windows command interpreter. 
COLOR   Sets the default console foreground and background colors. 
COMP   Compares the contents of two files or sets of files. 
COMPACT  Displays or alters the compression of files on NTFS partitions. 
CONVERT  Converts FAT volumes to NTFS. You cannot convert the 
       current drive. 
COPY   Copies one or more files to another location. 
DATE   Displays or sets the date. 
DEL   Deletes one or more files. 
DIR   Displays a list of files and subdirectories in a directory. 
DISKPART  Displays or configures Disk Partition properties. 
DOSKEY   Edits command lines, recalls Windows commands, and 
       creates macros. 
DRIVERQUERY Displays current device driver status and properties. 
ECHO   Displays messages, or turns command echoing on or off. 
ENDLOCAL  Ends localization of environment changes in a batch file. 
ERASE   Deletes one or more files. 
EXIT   Quits the CMD.EXE program (command interpreter). 
FC    Compares two files or sets of files, and displays the 
       differences between them. 
FIND   Searches for a text string in a file or files. 
FINDSTR  Searches for strings in files. 
FOR   Runs a specified command for each file in a set of files. 
FORMAT   Formats a disk for use with Windows. 
FSUTIL   Displays or configures the file system properties. 
FTYPE   Displays or modifies file types used in file extension 
       associations. 
GOTO   Directs the Windows command interpreter to a labeled line in 
       a batch program. 
GPRESULT  Displays Group Policy information for machine or user. 
GRAFTABL  Enables Windows to display an extended character set in 
       graphics mode. 
HELP   Provides Help information for Windows commands. 
ICACLS   Display, modify, backup, or restore ACLs for files and 
       directories. 
IF    Performs conditional processing in batch programs. 
LABEL   Creates, changes, or deletes the volume label of a disk. 
MD    Creates a directory. 
MKDIR   Creates a directory. 
MKLINK   Creates Symbolic Links and Hard Links 
MODE   Configures a system device. 
MORE   Displays output one screen at a time. 
MOVE   Moves one or more files from one directory to another 
       directory. 
OPENFILES  Displays files opened by remote users for a file share. 
PATH   Displays or sets a search path for executable files. 
PAUSE   Suspends processing of a batch file and displays a message. 
POPD   Restores the previous value of the current directory saved by 
       PUSHD. 
PRINT   Prints a text file. 
PROMPT   Changes the Windows command prompt. 
PUSHD   Saves the current directory then changes it. 
RD    Removes a directory. 
RECOVER  Recovers readable information from a bad or defective disk. 
REM   Records comments (remarks) in batch files or CONFIG.SYS. 
REN   Renames a file or files. 
RENAME   Renames a file or files. 
REPLACE  Replaces files. 
RMDIR   Removes a directory. 
ROBOCOPY  Advanced utility to copy files and directory trees 
SET   Displays, sets, or removes Windows environment variables. 
SETLOCAL  Begins localization of environment changes in a batch file. 
SC    Displays or configures services (background processes). 
SCHTASKS  Schedules commands and programs to run on a computer. 
SHIFT   Shifts the position of replaceable parameters in batch files. 
SHUTDOWN  Allows proper local or remote shutdown of machine. 
SORT   Sorts input. 
START   Starts a separate window to run a specified program or command. 
SUBST   Associates a path with a drive letter. 
SYSTEMINFO  Displays machine specific properties and configuration. 
TASKLIST  Displays all currently running tasks including services. 
TASKKILL  Kill or stop a running process or application. 
TIME   Displays or sets the system time. 
TITLE   Sets the window title for a CMD.EXE session. 
TREE   Graphically displays the directory structure of a drive or 
       path. 
TYPE   Displays the contents of a text file. 
VER   Displays the Windows version. 
VERIFY   Tells Windows whether to verify that your files are written 
       correctly to a disk. 
VOL   Displays a disk volume label and serial number. 
XCOPY   Copies files and directory trees. 
WMIC   Displays WMI information inside interactive command shell. 

For more information on tools see the command-line reference in the online help. 

C:\> 
+0

Danke für die Liste, ich denke, das ist genau das, was ich suche. –

Verwandte Themen