我有一个Batch脚本,我想在其中获取脚本的完整路径.我很好奇,这有什么区别:
set scriptpath=%0
Run Code Online (Sandbox Code Playgroud)
还有这个:
set scriptpath=%~f0
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
只有当第一个命令失败时,我才需要在 Windows cmd 上运行第二个命令,在另一个场景中,我想在检查是否安装后打开 python 安装程序。
我用过这个命令
python --version || path/to/python_install.exe
据我所知 || 表示如果最后一个命令失败则运行。但它只运行第一个。
如何在批处理脚本中创建文件夹(和任何子文件夹)?重要的是,如果文件夹(或任何子文件夹)已经存在,则不应返回错误.
例如,像这样:
mkdir mydir - 成功(现在创建目录)mkdir mydir\subdir- 成功(现在mydir包含subdir)mkdir mydir-成功(文件夹已经存在,应该不会引发错误)mkdir mydir\subdir-成功(文件夹已经存在,应该不会引发错误)我真正需要的只是确保文件夹结构存在.
@echo off
:cancel
shutdown /a
:shut
set a=%1
shutdown -s -f -t %a%
cls
set /p a="the computer will shut in:" %=%
set /a a=%a%*60
if %a%=="a" call :cancel
pasue
call :shut
pause
Run Code Online (Sandbox Code Playgroud)
应该向用户询问一个数字。它将花费该数字并在x分钟内关闭计算机(I乘以60转换为秒),如果答案为“ a”,它将取消关闭计算机的操作。
当我启动程序时,它会问我输入的无穷大时间,根本不会调用shutdown
:)