Articles of cmd

如何在Windows中更改命令行提示符?

如何将命令行提示符更改为控制台? 我一直在找控制台function的API,但我找不到任何东西。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx

如何防止PuTTY shell在执行Windows批处理命令后自动退出?

我写了一个像这样的batch file: Start putty.exe -ssh 172.17.0.52 -l root -m dummy.txt 然后在dummy.text中写下这个命令: avahi-daemon –no-drop-root -D export XVHMI_USERCONFIG_PATH=/home/UserProfileConfig export XDG_RUNTIME_DIR=/tmp cd /opt/bosch/airis/bin 当我运行.bat文件,PuTTY启动,命令执行(希望,不知道),它退出。 如何保持这个窗口打开? 我已经search了相同的,但没有坚实的帮助。 我读过堆栈溢出本身,我们需要在txt文件中定义的东西,但是什么,最重要的是如何?

使用批处理脚本快速(呃)获取文件夹大小

请参阅下面的原始问题以进行一些不同的testing比较: 所以我到目前为止尝试了两种方法: 1.使用Windows命令行中“获取文件夹大小”中的代码遍历目录: @echo off set size=0 for /r %%x in (folder\*) do set /a size+=%%~zx echo %size% Bytes 保存一个 'dir %folder% /s /a' 放入一个文本文件,然后在底部读取大小 3.我现在正在尝试的最后一种方法是使用du(MS的磁盘工具工具 – https://technet.microsoft.com/en-us/sysinternals/bb896651.aspx )。 现在除了#3之外,这两种方式对于我所需要的(数以千计的文件)来说似乎太慢了。 所以问题是哪一个是最快的/应该是最快的,如果有其他快速(呃)的方式来获得大小的文件夹内容有100K +文件(有100个文件夹) 开始编辑: 下面是我做比较的非常hacky的方式(屠杀我的程序看到一些输出) 有一些小错误的一些部分,如选项3将失败,因为它试图处理一个大于32位限制的数字,我敢肯定还有一些问题,但我认为一般的时机是明显的,除非我真的搞砸了在我的逻辑上。 选项I:遍历目录,使用VB脚本读取“dir”的文本输出,并在最后查找大小+将其转换为MB(原本从其他地方得到它,我实际上失去了我得到它的地方从@ MC ND选项III:使用compact命令迭代 – 从@npocmaka选项IV:从@ user1016274 – 使用robocoby (还有更多的答案,但这些是我已经能够纳入) 这些是我得到的结果,而且它们之间的相关性非常一致,robocopy把它们吹走了 scheme一和scheme二通常很接近,scheme二稍好一些(对于两者都是1分10秒到2分10秒,不知道差异来自哪里)第三部分 – 16-17分钟第四部分 – 10-20秒 @echo OFF setlocal enabledelayedexpansion REM […]

怎样才能用Windows命令获取剪贴板内容?

例如,我可以像这样将文件复制到剪贴板: clip < file.txt (现在file.txt的内容在剪贴板中。) 我怎么能做相反的事情: ???? > file.txt 所以剪贴板的内容将在file.txt ?

如何在每个批处理脚本运行后清除variables?

看来,因为我用SET来声明我的variables在批处理脚本中,如果我运行多次在CMD中,variables值将保持,除非我明确重置它们。 我是否必须使用setlocal和endlocal来确保一次运行的variables不会持续到另一次,而不closuresCMD?

是否可以将非控制台Win32应用程序附加到调用cmd shell?

当我有一个Win32非控制台应用程序(AFAIK,一个Win32应用程序的控制台链接到exe),从控制台cmd.exe启动它将立即返回到命令提示符,运行应用程序“在后台“(它可以有一个graphics用户界面,甚至打开自己的控制台窗口) 是否有可能在非控制台可执行文件中检测到它是从cmd.exe启动并将其“附加”到启动cmd.exe? 请注意,这里有很多问题/答案,但似乎这个确切的方法还没有被调查。 (也许这是不可能的。)

批处理脚本vs命令行

当我在cmd提示符运行下面的命令时,它的工作原理: for /R %f in (*.shp) do ogr2ogr -nln merge -update -append merge.shp %f 但是当我从.bat文件运行它不起作用。 说 – 恩是意想不到的。 有反正我可以运行这个.bat文件。

JDK似乎安装,但没有检测到,命令不起作用

我刚在家里买了一台新电脑。 我一直试图在我的Windows 7 64位机器上安装JDK 8u11。 我知道我下载了正确的64位版本。 我知道我的电脑上已经安装了JRE,因为java -version在cmd中返回java version "1.8.0_11" 。 我可以在“添加/删除程序”列表中看到JRE和JDK。 但是,我的IDE不能识别JDK是否被安装,当我在cmd中键入javac时,我得到'javac' is not recognized as an internal or external command, operable program, or batch file. 这使我相信,JDK并没有真正安装,但我已经尝试重新安装和重新启动几次,就像我之前所说,它出现在添加/删除程序。 我还可以在\ Program Files \ Java \ jre8文件夹旁看到\ jdk1.8.0_11文件系统。 \ jdk1.8.0_11文件系统看起来完整,当然除了实际的应用程序jdk-8u11.exe(或类似的文件)。 那是无处可寻的。 任何人都知道问题可能是什么? 注意: JAVA_HOME不是一个环境variables。 我试图手动创build环境variables,但以下path不起作用: C:\ Program Files \ Java \ jdk1.8.0_11 C:\ Program Files \ Java […]

任何理由在Windows中拆分“cd”命令?

我正在清理一些旧的Windowsbatch file,并继续看到这样的行: D: cd\ cd some\other\path\ 是否有任何理由(与command.com的兼容性可能?)不只是写这个 cd /dd:\some\other\path\

在文件名中用空格和点重命名文件

我正在制作一个简单的* bat文件,用于replace空格()和下划线(_)的点(。)。 我认为这应该工作,但它不: @ECHO OFF setlocal enabledelayedexpansion FOR %%f IN (%*) DO ( set filename=%%~nj set filename=!filename:.=_! set filename=!filename: =_! if not "!filename!"=="%%~nf" RENAME "%%f" "!filename!%%~xf" ) 你知道发生了什么事吗?