我不明白爲什麼命令提示符在首次使用後突然忘記某些命令。 我在我的電腦上創建了一個文件夾來存儲我的自定義命令,使我的生活更輕鬆。我已將此文件夾添加到我的PATH環境變量中,以便我可以快速訪問我的命令。第一次使用後命令提示符「忘記」命令
例如: 運行ipconfig兩次或更多次會導致命令每次都按預期工作。 運行別名命令(下面包含的代碼)兩次或更多次按預期工作。 運行我的deletefolder命令兩次只能第一次運行。第二次表示'deletefolder'不被識別爲內部或外部命令,可操作程序或批處理文件。現在,別名命令不能再工作(無法識別),但ipconfig仍然有效。爲了讓我的命令再次運行,我必須重新啓動命令提示符。
我試圖尋找背後的原因,但還沒有找到任何答案這種行爲。感覺這很簡單,但我真的找不到什麼。我盡力做到儘可能徹底,請讓我知道我是否應該澄清任何事情。
的DeleteFolder批處理文件:
@echo off
set path=%1
IF DEFINED path (
GOTO run
) ELSE (
GOTO help
)
:help
echo. Usage:
echo. deletefolder [path]
exit /B
:run
CHOICE /C YN /M "Are you sure?"
IF ERRORLEVEL 1 (
:del /f/s/q %path% > nul
:rmdir /s/q %path%
)
exit /B
alias命令(作者:本傑明Eidelman,[email protected])
@echo off
set operation=%1
set aliasname=%2
set aliasfile=%~dp0%2.cmd
IF "%~1"=="" GOTO help
IF /I "%~1"=="list" GOTO listaliases
IF /I "%~1"=="set" GOTO setalias
IF /I "%~1"=="get" GOTO getalias
IF /I "%~1"=="delete" GOTO deletealias
IF /I "%~1"=="here" GOTO setaliashere
:help
echo. Usage:
echo. alias list - list available cmd aliases
echo. alias set [name] [command line] - set an alias
echo. alias get [name] - show an alias
echo. alias delete [name] - delete alias
echo. alias here [name] [command line] - create alias cmd on cwd
exit /B
:listaliases
dir /B %~dp0*.cmd
exit /B
:setaliashere
set aliasfile=%2.cmd
:setalias
if "%aliasname%"=="alias" (
echo ERROR: cannot set this alias
exit /B 1
)
echo %1 %2> "%aliasfile%"
for %%a in ("%aliasfile%") do set /a length=%%~za
set /a length=length-1
set commandline=%*
setlocal enableDelayedExpansion
call set commandline=!commandline:~%length%!
set commandline=%commandline% %%*
echo %commandline%> "%aliasfile%"
echo INFO: alias "%aliasname%" set
exit /B
:getalias
if exist %aliasfile% (
type %aliasfile%
) ELSE (
echo ERROR: alias not found
exit /B 1
)
exit /B
:deletealias
if /I "%aliasname%"=="alias" (
echo ERROR: cannot delete this alias
exit /B 1
)
if exist %aliasfile% (
del %aliasfile%
echo INFO: alias deleted
) ELSE (
echo INFO: alias not found
)
exit /B
只要鍵入'doskey /?'。 – 2016-10-04 03:01:24