Articles of cmd

Git for Windows中的Bash:运行带有args的CMD.exe / C命令时出现奇怪

这更多的是一个烦恼,而不是一个问题,但我非常想了解这里的语义。 我所要做的就是在临时命令提示会话上运行一个任意命令,该会话本身在bash会话下运行。 我的成功率是50/50,因为一些命令按预期工作,而另一些则不是那么多。 我认为这个问题可能存在于没有正确排列的论点(即缺失或合并的论点) 我会试着通过一系列命令和回应来解释我的意思。 (我试图让字testing被打印在屏幕上。) 我在GNU bash 3.1.0(1) – 版本(i686-pc-msys)下运行这些版本与Git-1.8.4捆绑在一起: 第一次尝试: $ cmd /c echo test Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. c:\> 第二次尝试: $ cmd '/c echo test' test" 第三次尝试: $ cmd "/c echo test" test" 第四次尝试: $ cmd /c\ echo\ test test" 第五次尝试: $ cmd "/c […]

如何在批处理中find特定的文件名并切换到该目录?

我正在编写一个batch file,将获得一个特定的文件(curl_for_64bit.exe)的目录。 我尝试使用find命令,但它不起作用。 它基本上得到的文件的目录,更改到该目录,以便它可以复制。

如何创build一个快捷方式从cmd行启动pipe理员权限的应用程序?

我有一个安装程序(Inno-Setup)将我的应用程序安装到用户定义的path。 在安装例程结束时,我想创build一个快捷方式,以pipe理员权限启动应用程序。 该解决scheme应该可以在winXP到Win7的所有win版本上运行。 我能做些什么来达到这个目的? 我知道这是可能的批处理脚本,执行一个讨厌的VB脚本 。 缺点是,cmd窗口popup,它只适用于win7我猜。 我也试过命令mklink创build一个超链接,但它不起作用,因为它是不可能通过设置pipe理特权的参数。

如何在Perl中编写一个* filename *包含utf8字符的文件?

我正在努力创build一个包含非ASCII字符的文件。 如果以0作为参数调用下面的脚本,但使用1调用时会死亡。 错误消息已打开:C:\ temp \ filename.pl第15行中的参数无效。 该脚本在cmd.exe启动。 我期望它写一个文件的名字是(取决于参数) äöü.txt或äöü☺.txt 。 但我无法创build包含笑脸的文件名。 use warnings; use strict; use Encode 'encode'; # Text is stored in utf8 within *this* file. use utf8; my $with_smiley = $ARGV[0]; my $filename = 'äöü' . ($with_smiley ? '☺' : '' ). '.txt'; open (my $fh, '>', encode('cp1252', $filename)) or die "open: $!"; […]

Windowsbatch file使用date/时间将输出redirect到日志文件

我想运行一个batch file运行一个可执行文件,并将其输出redirect到一个日志文件。 日志文件必须包含date和时间作为文件名。 这是我正在使用的命令: "%PROGRAMFILES%\PostgreSQL\9.4\bin\vacuumdb.exe" –username postgres –verbose –analyze –all > E:\Logs\VacuumDB\%date:~10,4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.log 2>&1 这个命令直接在cmd中粘贴。 日志文件按预期创build为“2015_06_25__11_20_46.log”。 但是,它在粘贴到batch file时不起作用,然后在cmd中运行。 命令解释如下: "C:\Program Files\PostgreSQL\9.4\bin\vacuumdb.exe" –username postgres –verbose –analyze –all 8_21_42.log 1>E:\Logs\VacuumDB\2015_06_26_ 2>&1 请注意,文件名是如何截断的,时间现在被附加到命令参数中,而不是在文件名中。 所以显然这个命令失败了。 这当然是非常简单的,但我还没有find任何解决方法。 任何帮助是极大的赞赏。 谢谢!

Windows 命令显示超时的消息框?

注意:这是一个问题答案 ,以便logging其他人可能会觉得有用的技术,以便或许能够意识到别人的更好的解决scheme。 随意添加评论或问题作为评论。 也请随时添加额外的答案。 🙂 如何通过键入单个Windows命令来显示消息框 ,例如在“开始”菜单的“运行”对话框中或[cmd.exe]命令解释程序中?

bat文件脚本来检查string是否包含其他string

我需要写一个batch file来检查variables是否包含特定的值。 我试图做到以下几点: If "%%a"=="%%a:%pattern%" ( echo Yes ) else ( echo No ) input示例:%% a =“bob binson”%patern%=“binson” 我从来没有得到印! 任何人都可以请告诉我错过了什么,或者给出一个他将如何做的例子? 提前致谢

如何在远程机器上启动.cmd文件?

我需要能够从该文件驻留在该计算机上的目录内启动位于远程计算机上的.cmd文件。 我已经尝试过: invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }在invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }中,启动.cmd,但然后失败,因为它找不到相应的.cmds,这一个启动这些都位于同一个目录中)。 有没有办法启动这个.cmd文件,并保持执行? 即,即使PowerShell窗口closures后,.cmd将继续在远程机器上运行。

将批量stderrredirect到文件

我有一个执行Java应用程序的batch file。 我试图修改它,以便每当发生exception时,它会将STDERR写入文件。 它看起来像这样: start java something.jar method %1 %2 2>> log.txt 有没有一种方法可以将参数%1和%2写入log.txt文件? 我不想每次调用这个batch file的时候都把它写到日志文件中,只有在发生exception的时候。 我试图寻找一种方法将STDERRredirect到一个variables,但我无法弄清楚。 理想情况下,我希望日志文件看起来像这样: Batch file called with parameters: – "first arg" – "second arg" Exception: java.io.exception etc… ———————————— Batch file called with parameters: – "first arg" – "second arg" Exception: java.io.exception etc…

用batch file增加前导零的数字

用前面的零来增加数字的麻烦。 它在0008告诉我filename already exist or file not found失败。 很奇怪。 这是脚本: @echo off copy nul %tmp%\filename.tmp for /f "tokens=2 delims=-." %%a in ( 'dir /b "%tmp%\filename*.tmp" ^|sort /r ^|findstr /r [0-9]' ) do ( set "num=%%a" goto :done ) ren %tmp%\filename.tmp filename-0001.tmp exit /b 0 :done echo the highest number found is %num% set /a num+=1 […]