代码如下,
@echo off
if not exist c:\Locker (
cd/
md Locker
cd windows\system32
echo Set the password for your locker:-
set /p pass=
echo %pass%>text.txt
) else (
echo Folder is created
)
这里,假设我设置了pass = 12345,文本文件没有任何这样的值 如果我再次运行我的程序并设置pass = abcde,则文本文件显示该值 为“1234”。 请告诉我这背后的原因以及如何避免这种情况? 在此先感谢.........
答案 0 :(得分:1)
当你使用variable set in parentheses context时需要SETLOCAL ENABLEDELAYEDEXPANSION:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
if not exist c:\Locker (
cd/
md Locker
cd windows\system32
echo Set the password for your locker:-
set /p pass=
echo !pass!>text.txt
) else (
echo Folder is created
)
ENDLOCAL