小编asc*_*pfl的帖子

在批处理文件中定义和使用变量

我正在尝试在批处理文件中定义和使用变量.它看起来应该很简单:

@echo off

set location = "bob"
echo We're working with "%location%"
Run Code Online (Sandbox Code Playgroud)

我得到的输出如下:

We're working with ""
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?为什么我的变量没有被回应?

cmd batch-file environment-variables

427
推荐指数
4
解决办法
71万
查看次数

如何从批处理文件创建空文本文件?

有人能记住使用BAT文件在MSDOS中创建空文件的命令是什么?

cmd dos batch-file

231
推荐指数
8
解决办法
53万
查看次数

Windows命令解释器(CMD.EXE)如何解析脚本?

我遇到了ss64.com,它为如何编写Windows命令解释器将运行的批处理脚本提供了很好的帮助.

但是,我一直无法找到批处理脚本的语法,扩展或不扩展的方法,以及如何逃避事情的良好解释.

以下是我无法解决的示例问题:

  • 如何管理报价系统?我制作了一个TinyPerl脚本
    (foreach $i (@ARGV) { print '*' . $i ; }),编译它并以这种方式调用它:
    • my_script.exe "a ""b"" c"?输出是 *a "b*c
    • my_script.exe """a b c"""?输出它*"a*b*c"
  • 内部echo命令如何工作?在那个命令中扩展了什么?
  • 为什么我必须for [...] %%I在文件脚本中使用,但for [...] %I在交互式会话中?
  • 什么是转义字符,以及在什么情况下?如何逃脱百分号?例如,我怎么能%PROCESSOR_ARCHITECTURE%字面回声?我发现echo.exe %""PROCESSOR_ARCHITECTURE%有效,有没有更好的解决方案?
  • 如何%配对?例:
    • set b=a,echo %a %b% c%%a a c%
    • set a =b,echo %a %b% c%bb c%
  • 如果此变量包含双引号,如何确保变量作为单个参数传递给命令?
  • 使用 …

windows parsing cmd batch-file variable-expansion

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

从批处理文件中重定向输出

我正在创建一个批处理文件,其中包含一些简单的命令来从系统中收集信息.批处理文件包含获取时间,IP信息,用户等的命令.

我在批处理文件中组装了所有命令,然后运行,但是我希望批处理文件在运行时将结果输出到文本文件(日志).是否有可以添加到批处理中的命令?

请记住,我不想从cmd运行批处理,然后重定向输出; 如果可能,我想重定向批处理内部的输出.

windows cmd batch-file io-redirection

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

Windows批处理SET内部IF无法正常工作

当我运行此脚本时(来自.bat文件):

set var1=true
if "%var1%"=="true" (
  set var2=myvalue
  echo %var2%
)
Run Code Online (Sandbox Code Playgroud)

我总是得到:

ECHO is on.
Run Code Online (Sandbox Code Playgroud)

意思是var2变量没有真正设置.谁能帮助我理解为什么?

windows cmd batch-file delayedvariableexpansion

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

如果...或者如果...在Windows批处理文件中

有没有办法在Windows批处理文件中编写IF或IF条件语句?

例如:

IF [%var%] == [1] OR IF [%var%] == [2] ECHO TRUE
Run Code Online (Sandbox Code Playgroud)

windows conditional cmd if-statement batch-file

82
推荐指数
5
解决办法
31万
查看次数

将ERRORLEVEL重置为零的最简单方法是什么?

我有一个post-build事件,它为ac#project运行一些命令.最后一个命令有时会导致ERRORLEVEL值不等于零,然后构建失败.

我想附加一行额外的命令来始终将ERRORLEVEL值设置为零.最方便的方法是什么?

windows cmd batch-file errorlevel

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

cmd.exe(批处理)脚本中的数组,链接列表和其他数据结构

我正在玩cmd.exe,但在它的帮助下我没有找到任何信息,如何定义数组.

我发现,如何定义简单变量:

set a=10
echo %a%
Run Code Online (Sandbox Code Playgroud)

但是,我想创建数组,链表等...

那么,它能否在cmd.exe中使用(我的意思是:cmd.exe中是否存在任何数组关键字?)

我想实现一些算法:

  • 泡泡排序
  • 快速排序
  • 侏儒排序

等等...

所以,我也想知道,Cmd.exe是否有引用或实例,结构等?

导致其帮助不完整:/?

可以通过图灵机定义将Cmd.exe定义为完整吗?(图灵完成)

windows arrays cmd batch-file delayedvariableexpansion

58
推荐指数
5
解决办法
8万
查看次数

要"调用"还是"不调用"批处理文件?

如果从bat文件内部调用了另一个批处理文件但仍有一些剩余的操作要完成,那么如何确保对第一个bat文件的调用将在完成或错误之后,将返回到第一个调用它的文件中实例?

例:

CD:\MyFolder\MyFiles
Mybatfile.bat

Copy afile toHere
Run Code Online (Sandbox Code Playgroud)

要么

CD:\MyFolder\MyFiles
CALL Mybatfile.bat

COPY afile toHere
Run Code Online (Sandbox Code Playgroud)

什么是两者的区别CALLSTART或者他们都不在呢?这会对是否会返回复制命令的结果产生影响吗?

command-line cmd batch-file call

51
推荐指数
4
解决办法
6万
查看次数

轻松查看dos命令返回码的方法

有时我在cmd中运行命令,例如:

fc/b file1 file2

并希望看到来自fc的返回码.有一个简单的方法吗?

windows cmd errorlevel return-code

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