Articles of cmd

无法在Windows命令提示符(cmd.exe)中redirect输出消息

我试图在Windows命令提示符下运行以下命令。 abc.exe >log.txt 2>&1 我期望从abc.exe所有输出被定向到log.txt ,但它不起作用,因为log.txt是空的。 但是,如果我只是执行abc.exe ,输出显示在Windows命令提示符下。 我不知道该应用程序(STDOUT或STDERR)使用的输出处理程序是什么,但是我想知道是否有办法捕获所有消息,而不pipe处理程序。

在Windows shell脚本(cmd.exe)中,如何将程序的标准输出分配给环境variables?

在UNIX中,您可以使用此处解释的技术将脚本的输出分配给环境variables – 但Windows的等效项是什么? 我有一个Python实用程序,旨在纠正一个环境variables。 这个脚本只是写一个字符序列到标准输出。 对于这个问题,我的实用程序是用python编写的这个事实是无关的,它只是一个程序,我可以从命令提示符输出一行文本。 我想要做这样的事情(工作): set WORKSPACE=[ the output of my_util.py ] 运行此命令后,WORKSPACE环境variables的值应包含与我的实用程序通常会打印出的完全相同的文本。 可以这样做吗? 怎么样? 更新1:有人在工作build议: python util.py | set /P WORKSPACE= 从理论上讲,这将把python脚本的stdout分配给env-var WORKSPACE,但是它不起作用,这里出了什么问题?

在Windows CMD文件中,回显后面紧跟着一个斜杠?

当检查这个Windows批处理/ CMD文件(来自Chocolatey源的RefreshEnv.cmd )时,我碰到以下代码行: echo/@echo off >"%TEMP%\_env.cmd" 上面创build文件_env.cmd与内容“@echo off”。 斜杠在“echo /”中做了什么? 如果我省略了斜线,结果文件完全一样。 我在Windows 7上。

Windowsbatch file – 用string作为分隔符分割string

我试图在batch file中使用string(而不是字符)作为分隔符来分割string。 该string的格式为: string1 by string2.txt 分隔符是(是的,空格,单词“by”,后面是空格)。 我想要的输出是: string1 string2 所以,基本上,通过分隔符将string拆分成2个部分by并从第二个string中删除后缀。 我怎样才能做到这一点?

batch file进展纺车

我一直在努力几天,似乎可以得到这个工作。 我find一个例子,但它使用(CryEcho),这将无法正常工作。 我只是想添加这个让用户知道正在进行的事情正在执行IP地址。 我在这里find了一些代码,但是这让我感到困惑,因为我只是为了好玩而乱开batch file。 无论如何,我想有一些东西,像下面的例子,但像(等待… [微调])的文字。 谢谢! @echo off setlocal set COUNT=0 set MAXCOUNT=10 set SECONDS=1 :LOOP title "\" call :WAIT title "|" call :WAIT title "/" call :WAIT title "-" if /i "%COUNT%" equ "%MAXCOUNT%" goto :EXIT set /a count+=1 echo %COUNT% goto :LOOP :WAIT ping -n %SECONDS% 127.0.0.1 > nul ping -n […]

在Windows中隐藏folderes循环

我怎样才能在windows-cmd中循环所有隐藏的文件夹? 这个代码 FOR /D %i IN (*) DO @echo %i 只处理非隐藏的文件夹。

是否有相当于Windows cmd.exe(或其他XP标准工具)中的“cut -c”?

我有一些固定行大小的文件,我需要从中提取信息的固定字段大小。 否则,我会使用Cygwin( cut等),但这不是一个select,因为(骨头)pipe理政策,我不能改变。 它必须使用Windows附带的标准XP工具集来完成。 我需要提取偏移量为7的10个字符和偏移量为22的4个字符(从零开始),然后将它们输出到一个文件,但略有扭曲: 第一个字段可能有负号,正号或无号(在开始或结束时)。 标志应该移到前面,如果是正面的,则移除标志。 第二个字段应该有前后空格。 例如: 1 2 3 <- ignore (these lines not in file,) 0123456789012345678901234567890123456789 <- ignore ( here only for info.) xxxxxxx 15.22-yyyyyABCDzzzzzzzzzzz… xxxxxxx 122.00+yyyyy XX zzzzzzzzzzz… xxxxxxx 9yyyyyYYY zzzzzzzzzzz… 应该产生( <表示行结束): -15.22,ABCD< 122.00,XX< 9,YYY<

按名称命名的进程

我在cmd中使用了以下命令来获取进程命令行。 它给出了所有过程的细节: WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid 我想在记事本中按名称获取特定进程的详细信息。 感谢名单。

使用wget调用URL并根据URL的内容返回ERRORLEVEL

客户端具有基于Windows的内部服务器,在其上编辑CMS的内容。 数据在夜间与现场networking服务器同步。 这是缓慢的Internet连接的解决方法。 有两件事情要同步:新文件(已sorting)和一个MySQL数据库。 为此,我正在编写一个脚本,使用mysqldump将数据库导出到转储文件中,并上载转储。 上传过程使用名为ScriptFTP的第三方工具(一种FTP自动化工具)完成。 然后我需要在目标服务器上运行一个基于PHP的导入脚本。 根据此脚本的返回值,ScriptFTP操作继续,并且一些目录被重命名。 我需要一个外部工具,因为scriptFTP只支持FTP调用。 我在想wget的Windows版本。 在scriptFTP中,我可以执行任何批处理或exe文件,但是我只能parsing调用导致的错误级别而不是stdout输出。 这意味着我需要返回错误errorlevel 1如果PHP导入操作出错,错误errorlevel 0如果它顺利。 另外,显然,如果根本无法连接到导入脚本,我需要返回一个肯定的错误级别。 我可以完全控制导入PHP脚本,并可以决定错误:输出错误消息,返回一个头,不pipe。 你将如何去运行wget(或任何其他工具来启动服务器端导入),并返回一个错误级别取决于PHP脚本返回什么? 我现在最好的方法是构build一个执行wget命令的batch file,将结果存储在一个文件中,batch file根据文件的内容返回错误级别0或1。 但我真的不知道如何使用批量编程来匹配文件的内容。

当服务已经在使用Windows批处理脚本运行时,Windows服务无法启动

我正在写一个Windows批处理脚本,将安装服务。 如果它已经运行,那么我正在停止并删除服务,然后再次安装服务。 我正面临一个奇特的行为。 当服务已经运行,并且当我正在运行下面的batch file时,该服务再次被安装,但它无法启动。 当我重新启动系统,并启动服务,它开始。 如何解决此启动服务问题,而无需重新启动计算机。 我还join了taskkill / f / PID来杀死进程libertyserver.exe。 这是我的代码:test.bat。 我从命令行运行test.bat。 test.bat的: @echo off setlocal @echo off set JAVA_SERVICE_EXE=libertyserver.exe … …. set SERVICE_DISPLAY_NAME="%LIBERTY_SERVICE_NAME%" set SERVICE_DESCRIPTION="%LIBERTY_SERVICE_NAME%" echo Stopping and Deleting existing services for /F "tokens=3 delims=: " %%H in ('sc query %SERVICE_NAME% ^| findstr "STATE" ') do ( if /I "%%H" EQU "RUNNING" […]