相关疑难解决方法(0)

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

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

@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万
查看次数

如何在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万
查看次数

使用Windows批处理文件的多行命令的单行

我试着理解批处理文件中单个命令行中的多个命令是如何工作的.

dir & md folder1 & rename folder1 mainfolder
Run Code Online (Sandbox Code Playgroud)

和其他情况类似的命令,但&&&.

dir && md folder1 && rename folder1 mainfolder
Run Code Online (Sandbox Code Playgroud)

1.这两种情况有什么区别?


我想问的其他事情:

单线batch.bat:

dir & md folder1 & rename folder1 mainfolder
Run Code Online (Sandbox Code Playgroud)

多线程batch.bat:

dir
md folder1
rename folder1 mainfolder
Run Code Online (Sandbox Code Playgroud)

2.这种单线程和多线程在批处理文件程序方面是否相同?


还有一件事我想知道:

3.如果我从main.bat调用其他批处理文件,它们是否独立运行?主批处理文件不等待其他批处理文件中的结束程序?怎么做?

windows command-line cmd batch-file simultaneous

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

VS Code python扩展最近开始抱怨Win10上的Path错误

当我用python文件启动Visual Studio代码时,我开始收到以下错误

The environment variable 'Path' seems to have 
some paths containing characters (';', '"' or ';;'). 
The existence of such characters are known to have 
caused the Python extension to not load. If the 
extension fails to load please modify your paths to 
remove these characters.
Run Code Online (Sandbox Code Playgroud)

我检查了我的路径,确实有一个;; 出现.我删除了它,但我仍然收到错误.

这是我目前的路径.

PATH=C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Common Files\Lenovo;C:\SWTOOLS\ReadyApps;C:\Program …
Run Code Online (Sandbox Code Playgroud)

python windows path visual-studio-code

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

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

下面的批处理命令将为我提供文件夹中的最新文件,但我只查找具有特定扩展名的文件。任何人都可以解释如何指定扩展名(即.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 off
set value="Hello world"
setx -M srijani "%srijani%;%value%"
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.
Run Code Online (Sandbox Code Playgroud)

我用Google搜索,发现在使用空格时我们需要在双引号内写.

set value="Hello world"
Run Code Online (Sandbox Code Playgroud)

但是,这也行不通.

注意:我在Windows 7上.

command-line batch-file windows-7

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

批量从数组中获取目录名称

我有一个路径列表,我想从中提取文件夹名称

我写:

@echo off

set paths[0]="C:\p\test1" 
set paths[1]="C:\p\test2" 
set paths[2]="C:\p\test3"

(for %%p in (%paths%) do (
   for %%F in (%%p) do echo Processing %%~nxF
))
Run Code Online (Sandbox Code Playgroud)

但似乎什么也没有显示。

我期望看到:

加工测试1

加工测试2

加工测试3

batch-file

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

检查字符串是否用引号并将字符串加引号时出现问题

我试图通过检查字符串的第一个和最后一个字符来检查字符串是否被引用。但是我的脚本在检查报价时看到了失败,请参见输出:AND此时是意外的。下面。

@echo off

set mystring=Non quoted string

set myquotedstring=^"My quoted string^"

echo mystring: %mystring%

echo myquotedstring: %myquotedstring%

set result=%mystring:~0,1%

echo first character of non quoted string is: %result%

set result=%mystring:~-1%

echo last character of non quoted string is: %result%

if %mystring:~0,1%u==^" AND %mystring:~-1%==^" (
   echo this string is NOT quoted
   set newstring=^"Non quoted string^"
   echo newstring: %newstring%
)

set result=%myquotedstring:~0,1%

echo first character of quoted string is: %result%

set result=%myquotedstring:~-1%

echo last character of quoted string is: %result%

if …
Run Code Online (Sandbox Code Playgroud)

quotes cmd escaping batch-file

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

windows cmd 如何设置解析变量名?

如果我运行set如下:

C:\Users\vagrant>SET UNDEFINED=foo

C:\Users\vagrant>SET UNDEFINED
UNDEFINED=foo

C:\Users\vagrant>SET UNDEFINED  
Environment variable UNDEFINED   not defined

C:\Users\vagrant>SET UNDEFINED | more
UNDEFINED=foo

C:\Users\vagrant>SET UNDEFINED >nul

C:\Users\vagrant>SET UNDEFINED >nul 
Environment variable UNDEFINED   not defined

C:\Users\vagrant>SET UNDEFINED  | more
Environment variable UNDEFINED   not defined

C:\Users\vagrant>SET UNDEFINED >nul | more
Environment variable UNDEFINED   not defined

C:\Users\vagrant>SET UNDEFINED >nul| more

C:\Users\vagrant>SET UNDEFINED 2>nul | more

C:\Users\vagrant>SET UNDEFINED 2>nul| more
UNDEFINED=foo
Run Code Online (Sandbox Code Playgroud)

注意,上面的第二个命令是SET UNDEFINED ,后面有两个空格。而且SET UNDEFINED >nul SET UNDEFINED >nul | moreSET UNDEFINED …

windows cmd batch-file environment-variables

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