标签: cmd

回显但显示消息

我在bat文件中关闭了echo.

@echo off
Run Code Online (Sandbox Code Playgroud)

然后我做这样的事情

...
echo %INSTALL_PATH%
if exist %INSTALL_PATH%(
echo 222
...
)
Run Code Online (Sandbox Code Playgroud)

我得到:

该系统找不到指定的路径.

这两个回声之间的信息.

这条消息可能是什么原因以及为什么消息忽略了回声?

cmd batch-file echo

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

批处理文件执行后如何自动关闭cmd窗口?

我正在运行具有以下两行的批处理文件:

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
Run Code Online (Sandbox Code Playgroud)

此批处理文件用于运行Xming应用程序,然后运行PuTTY应用程序,以便我可以通过SSH连接到我大学的计算机实验室.

但是,如果我运行它并且Xming尚未打开,一旦我从PuTTY终端退出,cmd窗口仍保持打开状态.只有当我已经运行Xming时,关闭PuTTY终端时才会关闭cmd窗口.我已经尝试添加exit到批处理文件的最后一行,但无济于事.

cmd batch-file

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

在PowerShell中运行CMD命令

我遇到了一些关于运行PowerShell命令的问题.它所做的只是运行一个将在CMD提示窗口中运行的命令.

这是命令:

"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe" PCNAME

我已经尝试了以下但没有成功(我尝试过多次迭代尝试并获得一个有效.语法可能都搞砸了):

$TEXT = $textbox.Text #$textbox is where the user enters the PC name.
$CMDCOMMAND = "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe"
Start-Process '"$CMDCOMMAND" $TEXT'
#iex -Command ('"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe"' $TEXT)
Run Code Online (Sandbox Code Playgroud)

该命令将只打开SCCM远程连接窗口到用户在文本框中指定的计算机.

powershell command-line cmd

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

文件名中的批处理命令日期和时间

我在命令行上使用WinZip压缩文件.由于我们每天都会存档,因此我尝试为这些文件添加日期和时间,以便每次都自动生成一个新文件.

我使用以下命令生成文件名.将其粘贴到命令行,您应该看到一个带有日期和时间组件的文件名.

echo Archive_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.zip
Run Code Online (Sandbox Code Playgroud)

产量

Archive_20111011_ 93609.zip
Run Code Online (Sandbox Code Playgroud)

但是,我的问题是AM vs PM.AM时间戳给我时间9(带有前导空格)与10自然占据两个空格.

我想我的问题将延续到头九天,前九个月等等.

我如何解决这个问题,以便包含前导零而不是前导空格,所以我得到了Archive_20111011_093609.zip

windows command-line cmd batch-file

67
推荐指数
6
解决办法
25万
查看次数

使用批处理文件以递归方式在目录中删除特定类型(扩展名)的所有文件

我需要删除dir1和dir2中的所有.jpg和.txt文件(例如).

我试过的是:

@echo off
FOR %%p IN (C:\testFolder D:\testFolder) DO FOR %%t IN (*.jpg *.txt) DO del /s %%p\%%t
Run Code Online (Sandbox Code Playgroud)

在一些目录中它起作用; 在其他人看来没有.

例如,这没有做任何事情:

@echo off
FOR %%p IN (C:\Users\vexe\Pictures\sample) DO FOR %%t IN (*.jpg) DO del /s %%p\%%t
Run Code Online (Sandbox Code Playgroud)

我在第二个片段中遗漏了什么?它为什么不起作用?

cmd batch-file

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

在Windows中命令cd/d%~dp0是什么意思

有人可以帮我理解命令cd /d %~dp0及其目的.dos命令再次出现在下面

cd /d %~dp0
Run Code Online (Sandbox Code Playgroud)

请帮助我理解它的含义.

windows cmd

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

如何使用setx添加到Windows PATH变量?有奇怪的问题

我想使用修改Windows PATH变量setx.以下在Windows 8上至少有50%的时间可以正常工作:

setx PATH %PATH%;C:\Python27\;C:\Python27\Scripts\
Run Code Online (Sandbox Code Playgroud)

如果它给出错误"默认参数只能使用2次",那么下面的部分时间会起作用:

setx PATH "%PATH%;C:\Python27\;C:\Python27\Scripts\"
Run Code Online (Sandbox Code Playgroud)

不同之处在于我们将第二个参数包装在引号中.我相信%PATH%扩展包含空格时引号是必要的.

但是,我在Windows 7上遇到了一些奇怪的问题.在一台特定的Windows 7机器上,我遇到了这个问题:

echo %PATH%
Run Code Online (Sandbox Code Playgroud)

它打印:

C:\Foo\;C:\Bar\;[...lots of stuff...]C:\Baz\
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

setx PATH "%PATH%;C:\Quux\"
Run Code Online (Sandbox Code Playgroud)

然后它说"错误:截断1,024个字符." 现在让我们检查一下PATH包含的内容:

echo %PATH%
Run Code Online (Sandbox Code Playgroud)

它打印:

C:\Foo\;C:\Foo\;C:\Bar\;C:\Bar\;[...lots of stuff, now duplicated...]C:\B
Run Code Online (Sandbox Code Playgroud)

......它被裁减为1,024个字符.由于重复,它跑了过来.同样有趣的是:尽管setx引发了错误而没有说"成功" ,但PATH的价值也发生了变化.

我能够多次重复这种奇怪的行为(幸运的是我保存了PATH的原始内容).

目前,我知道附加到PATH的唯一可靠方法如下:

  1. echo 路径.

  2. 将PATH的内容复制到文本文件中,然后手动添加;C:\Python27\;C:\Python27\Scripts\到PATH的末尾.

  3. 将整个事物复制出文本文件.

  4. setx PATH "<paste the string here>"

该过程在Windows 7和Windows 8上每次都有效.

我应该能够在一个命令中做到这一点.我究竟做错了什么?

谢谢.

windows cmd path setx

67
推荐指数
4
解决办法
14万
查看次数

更好的Windows命令行shell

是否有更好的Windows命令行shell,除了cmd在Windows的窗口和控制台窗口之间有更好的复制粘贴?

windows shell cmd

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

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

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

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

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

windows cmd batch-file errorlevel

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

标签 统计

cmd ×10

batch-file ×5

windows ×5

command-line ×2

powershell ×2

bash ×1

echo ×1

errorlevel ×1

path ×1

setx ×1

shell ×1