我在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)
我得到:
该系统找不到指定的路径.
这两个回声之间的信息.
这条消息可能是什么原因以及为什么消息忽略了回声?
我正在运行具有以下两行的批处理文件:
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到批处理文件的最后一行,但无济于事.
我遇到了一些关于运行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远程连接窗口到用户在文本框中指定的计算机.
我在命令行上使用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?
我需要删除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)
我在第二个片段中遗漏了什么?它为什么不起作用?
有人可以帮我理解命令cd /d %~dp0及其目的.dos命令再次出现在下面
cd /d %~dp0
Run Code Online (Sandbox Code Playgroud)
请帮助我理解它的含义.
我想使用修改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的唯一可靠方法如下:
echo 路径.
将PATH的内容复制到文本文件中,然后手动添加;C:\Python27\;C:\Python27\Scripts\到PATH的末尾.
将整个事物复制出文本文件.
setx PATH "<paste the string here>"
该过程在Windows 7和Windows 8上每次都有效.
我应该能够在一个命令中做到这一点.我究竟做错了什么?
谢谢.
是否有更好的Windows命令行shell,除了cmd在Windows的窗口和控制台窗口之间有更好的复制粘贴?
我有一个post-build事件,它为ac#project运行一些命令.最后一个命令有时会导致ERRORLEVEL值不等于零,然后构建失败.
我想附加一行额外的命令来始终将ERRORLEVEL值设置为零.最方便的方法是什么?
cmd ×10
batch-file ×5
windows ×5
command-line ×2
powershell ×2
bash ×1
echo ×1
errorlevel ×1
path ×1
setx ×1
shell ×1