2017-05-05 21 views
-1

Ich schreibe ein Windows-Skript, das den Benutzer nach ihrem Namen und Benutzernamen fragt. Wenn ich es in cmd ausführen, kommt es mit der Fehlermeldung zurück "Kann die Datei nicht finden." HierKann die angegebene Datei Fehler nicht finden

ist der Code:

@echo off 

title User Records System 
ECHO Welcome to the User Records System 

SET /P <name>=[Please enter you full name.] 
REM if %name% = nul goto :label6 
pause 

SET /P <uName>=[Please enter your username.] 
REM if %uName% = nul goto :label10 
pause 

ECHO %date%_%time% %name% >>C:\user_records.txt 
ECHO %date%_%time% %uName% >>C:\user_records.txt 
ECHO %date%_%time% %time% >>C:\user_records.txt 
pause 

Ich bin mir bewusst, dass das Update sehr offensichtlich ich dies nur sehr neu bin. Wenn Sie weitere Verbesserungsvorschläge haben, lassen Sie es mich bitte wissen. Danke.

Antwort

1

in Batch-Dateien die eckigen Klammern Umleitungsoperatoren sind, so

  v.................................... write to file "=[Pl..." 
SET /P <name>=[Please enter you full name.] 
     ^......................................... read from file "name" 

Sie sollten so etwas wie

SET "name=" 
SET /p "name=[Please enter you full name.]" 
if not defined name goto :label6 

SET "uName=" 
SET /P "uName=[Please enter your username.]" 
if not defined uName goto :label10 
+0

Das ist brilliant danke! –

0

Sie können auch diese nur

set /p name= "[Please enter your full name.]" 
if not defined name goto :label6 
pause 

set /p uName= "[Please enter your username.]" 
if not defined uName goto :label10 
pause 

auf diese Weise tun verwenden muss einmal "set" eingeben. Nur ein kleiner Abkürzung. FYI, ich empfehle, den Platz nach dem Gleichheitszeichen zu setzen.

Verwandte Themen