相关疑难解决方法(0)

如何在Windows中的命令提示符下删除特定目录中的文件/子文件夹

比如,有一个名为变量的变量%pathtofolder%,因为它表明它是文件夹的完整路径.

我想删除此目录中的每个文件和子文件夹,但不删除目录本身.

但是,可能会出现"此文件/文件夹已在使用中"的错误...当发生这种情况时,它应该继续并跳过该文件/文件夹.

任何人都可以给我一些命令吗?

windows directory file-io cmd batch-file

295
推荐指数
11
解决办法
92万
查看次数

如何在Windows批处理文件中创建"是否确定"提示?

我有一个批处理文件,可以自动将一堆文件从一个地方复制到另一个地方,然后返回给我.唯一的事情就是它帮助我,我不小心选择了命令缓冲区中的命令,并大量覆盖未经修改的更改.

我的.bat文件需要什么代码才能让它说"你确定",并让我在运行文件的其余部分之前输入"y"吗?如果输入"y"之外的任何内容,它应该退出该行的执行.

编辑 11月27日好的我再次标记这个未答复,因为我仍然无法弄明白.当我打电话给"退出"时 它关闭cmd.exe这不是我想要的.这一切都是因为Windows实现了命令缓冲区错误[不同于我至少习惯的]

windows cmd batch-file

81
推荐指数
5
解决办法
10万
查看次数

GOTO:EOF返回哪里?

我试图了解代码中的确切位置GOTO :EOF返回?

这是代码:

SET count=1 
FOR /f "tokens=*" %%G IN (somefile.txt) DO (call :subroutine "%%G") 
GOTO :EOF

:subroutine  
echo %count%:%1  
set /a count+=1  
GOTO :EOF
Run Code Online (Sandbox Code Playgroud)

for-loop batch-file

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

用于运行.bat文件的命令

我正在尝试使我的Visual Studio构建脚本执行一个重要的.bat文件.

这就是我现在想做的事情:

cd "F:\- Big Packets -\kitterengine\Common\" Template.bat
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我必须这样做才能使它工作:

cd "F:\- Big Packets -\kitterengine\Common\"
F:
Template.bat
Run Code Online (Sandbox Code Playgroud)

但是这很难添加到Visual Studio脚本中.

我怎么能在一行中做到这一点?

windows command cmd prompt

22
推荐指数
4
解决办法
20万
查看次数

成功后哪个cmd.exe内部命令将ERRORLEVEL清除为0?

在Windows批处理脚本中处理错误的常用方法是使用
if errorlevel 1 ...或等if %errorlevel% neq 0 ....通常,人们希望错误处理代码保留ERRORLEVEL.

我相信所有外部命令总是会导致ERRORLEVEL被设置为某个值,因此错误处理代码必须在执行外部命令之前在环境变量中保留ERRORLEVEL.

但内部命令怎么样?问题是,一些内部命令在成功时将ERRORLEVEL清除为0,而有些则没有.而且我找不到任何指定哪些命令做什么的文档.

所以问题是,哪些内部命令成功后将ERRORLEVEL清除为0?不是关于返回的ERRORLEVEL代码的一般问题,而是严格关于成功结果的问题.

有些帖子如何将ERRORLEVEL重置为零的最简单方法是什么?Windows批处理文件:.bat vs .cmd?给出部分答案.但我从未见过全面的清单.

注意: 多年来我一直很好奇.所以我最终决定进行一系列实验并得出一个明确的答案.我发布此问答来分享我发现的内容.

cmd batch-file errorlevel

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

内部cmd.exe命令设置的ERRORLEVEL值是什么?

ERRORLEVEL是大多数cmd.exe命令在根据一系列条件结束更改时返回的值,因此知道命令返回的值是有助于编写更好的批处理文件的有用信息.所有外部.exe程序在结束时都会更改ERRORLEVEL(这是ExitProcessTerminateProcess Win-32 API函数的固有机制),并且通常记录这些值,但内部 cmd.exe命令返回的值在其他地方没有完整记录.

此问题中出现具有部分ERRORLEVEL值的,但仅适用于成功时设置ERRORLEVEL = 0的内部命令.我建议OP这样的问题修改它,以便也包括"不成功的命令"返回的值,但他拒绝并邀请我发布我自己的问题/答案,所以在这里!必须注意的是大于零的不同ERRORLEVEL并没有必然意味着该命令失败!有些命令以无错误结束并返回大于零的值以指示不同的"退出状态",包括内部命令(如SET /P).

为了更好地使用Batch .bat文件中的内置cmd.exe命令,我们需要知道它们返回的ERRORLEVEL值以及此管理中涉及的机制.所以问题是,哪个内部cmd.exe命令将ERRORLEVEL设置为任何值(包括零)?

cmd batch-file errorlevel

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

如何调用当前目录中一级的批处理文件?

我正在使用批处理文件 folder1/folder2/file.bat

父文件夹中有一个批处理文件folder1,我想打开它file.bat

我尝试过使用:

start ..\..\code.bat
Run Code Online (Sandbox Code Playgroud)

但是这会导致错误消息,因为找不到文件.

有任何想法吗?

batch-file call

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

在cmd中使用'set var = text'命令后,为什么没有带'echo%var%'的字符串输出?

我用set命令在cmd中设置了一个变量,然后尝试了echo.

这是一个例子:

C:\Users\Logan>set var = text

C:\Users\Logan>set var
var = text

C:\Users\Logan>echo %var%
%var%

C:\Users\Logan>
Run Code Online (Sandbox Code Playgroud)

有没有办法强制cmd echo变量而不是原始文本?

cmd batch-file

7
推荐指数
2
解决办法
7302
查看次数

获取具有特定扩展名的目录中的最新文件

下面的批处理命令将为我提供文件夹中的最新文件,但我只查找具有特定扩展名的文件。任何人都可以解释如何指定扩展名(即.jpg

FOR /F "delims=|" %%I IN ('DIR "C:\Jenkins\Releases\C9metro" /B /O:D') DO SET NewestFile=%%I
Run Code Online (Sandbox Code Playgroud)

batch-file

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

如何仅获取用户路径变量?

Echo %PATH%返回系统PATH 变量 +用户PATH 变量。

如何仅获取用户PATH 变量?

batch-file

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

标签 统计

batch-file ×9

cmd ×6

windows ×3

errorlevel ×2

call ×1

command ×1

directory ×1

file-io ×1

for-loop ×1

prompt ×1