如何解决批处理“未找到文件”
锁定命令:
:lock
ren "Secure Folder" "Secure Folder (Locked)"
attrib +h +s "Secure Folder (Locked)"
msg * Folder locked.
goto end
解锁命令(错误所在):
:unlock
attrib -h -s "Secure Folder (Locked)"
ren "Secure Folder (Locked)" "Secure Folder"
pause
::Pause is to see the error
goto end
错误是:
File not found - Secure Folder (Locked)
文件夹是这样创建的:
:creation
md "Secure Folder"
cd Secure Folder
md Movies
md Pictures
md Music
md Bonuses
cd Bonuses
echo .LOG>Log.txt
cd %USERPROFILE%
md userpass
cd userpass
set /p userpass=Enter the password you would like to use for this application:
echo %userpass%>userpass.txt
msg * Folder created.
goto end
这就是解锁的初始化方式:
:password
cd %USERPROFILE%\userpass
<userpass.txt set /p userpass=
set /p password=Enter password to unlock:
If /I "%password%"=="%userpass%" goto unlock
goto fail
@echo off
attrib -h -s "Secure Folder (Locked)"
ren "Secure Folder (Locked)" "Secure Folder"
我不知道为什么我的主代码不起作用。可能是因为之前使用了“cd %USERPROFILE%”?
解决方法
您正在对子文件夹执行 cd
,但永远不要返回父文件夹所在的位置。您可以改用 pushd
和 popd
,但这是一个更好的方法:
:creation
(md "Secure Folder\Movies"
md "Secure Folder\Pictures"
md "Secure Folder\Music"
md "Secure Folder\Bonuses
echo .LOG>"Secure Folder\Bonuses\Log.txt"
md "%USERPROFILE%\userpass"
)>nul 2>&1
set /p userpass=Enter the password you would like to use for this application:
(echo %userpass%)>"%USERPROFILE%\userpass\userpass.txt"
msg * Folder created.
goto :eof
您可以创建文件夹而无需 cd 到每个文件夹。换句话说:
mkdir "folder1\folder2\folder3"
将创建整个树,您不必先创建父项,然后再创建子项。
一个略短的版本,通过使用 for 循环来创建文件夹:
:creation
(for %%i in ("Movies" "Pictures" "Music" "Bonuses") do md "Secure Folder\%%~i"
echo .LOG>"Secure Folder\Bonuses\Log.txt"
md "%USERPROFILE%\userpass"
)>nul 2>&1
set /p "userpass=Enter the password you would like to use for this application: "
(echo %userpass%)>"%USERPROFILE%\userpass\userpass.txt"
msg * Folder created.
goto :eof
上述方法可确保您保留在原始工作 dir
内。
注意,您应该修改其余代码以适应此方法。
:password
<"%USERPROFILE%\userpass\userpass.txt" set /p userpass=
set /p password=Enter password to unlock:
If /I "%password%" == "%userpass%" goto unlock
goto fail
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。