相关疑难解决方法(0)

批处理脚本:%0和%~f0之间有什么区别?

我有一个Batch脚本,我想在其中获取脚本的完整路径.我很好奇,这有什么区别:

set scriptpath=%0
Run Code Online (Sandbox Code Playgroud)

还有这个:

set scriptpath=%~f0
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

windows cmd batch-file command-prompt windows-10

5
推荐指数
2
解决办法
7395
查看次数

如何测试 Python 是否安装在 Windows (10) 上,如果未安装,如何运行 exe 来安装它?

只有当第一个命令失败时,我才需要在 Windows cmd 上运行第二个命令,在另一个场景中,我想在检查是否安装后打开 python 安装程序。

我用过这个命令

python --version || path/to/python_install.exe

据我所知 || 表示如果最后一个命令失败则运行。但它只运行第一个。

windows cmd

5
推荐指数
2
解决办法
6万
查看次数

在批处理脚本中创建文件夹并忽略它是否存在

如何在批处理脚本中创建文件夹(和任何子文件夹)?重要的是,如果文件夹(或任何子文件夹)已经存在,则不应返回错误.

例如,像这样:

  • mkdir mydir - 成功(现在创建目录)
  • mkdir mydir\subdir- 成功(现在mydir包含subdir)
  • mkdir mydir-成功(文件夹已经存在,应该不会引发错误)
  • mkdir mydir\subdir-成功(文件夹已经存在,应该不会引发错误)

我真正需要的只是确保文件夹结构存在.

windows scripting cmd batch-file

3
推荐指数
2
解决办法
3万
查看次数

批处理文件要求无限次输入

@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
:)

batch-file

1
推荐指数
1
解决办法
54
查看次数