Articles of batch file

如何检查远程服务器上是否使用batch file打开端口,而不使用第三方软件?

由于这个问题是closures的(我打算先回答),我打开了这个问题。 在某些机器上,它被禁止安装/下载二进制文件,所以我想知道如何检查远程机器上的端口是否仅使用本机窗口脚本function打开。

如何使用Windowsbatch file来衡量控制台应用程序的性能?

如何编写一个简单的batch file来衡量基于控制台的应用程序的性能? 控制台应用程序接受两个命令行参数。 我想得到: StartTime = System Dos time myconsoleapp arg1, arg2 StopTime = System Dos Time timeDelta = stoptime – starttime 我会将timeDelta写入文件或在控制台上显示。

检测batch file的执行方式

假设Windows,如果从打开的命令提示符或双击启动,是否可以从batch file中检测到这种方法? 我想在批处理结束时添加一个暂停,当且仅当它被双击时,这个窗口不会随着它可能产生的任何有用的输出而消失。 任何聪明的方法来做到这一点? 我正在寻找可以依赖的解决scheme,以使用默认设置configuration更多或更less的机器。

通过Powershell或Batch将文件从Windows转换到UNIX

我有一个批处理脚本,提示用户input一些input,然后输出我在AIX环境中使用的几个文件。 这些文件需要在UNIX格式(我相信是UTF8),但我正在寻找一个方向,以最简单的方式做到这一点。 我不喜欢下载额外的软件包; Cygwin或GnuWin32。 我不介意编码,如果可能的话,我的编码选项是批处理,Powershell和VBS。 有谁知道一个办法做到这一点? 或者,我可以使用批处理创build文件并调用Powershell脚本来重新创build这些文件? 这里的想法是一个用户会被提示input一些信息,然后输出一个标准文件,这些文件在AIX中基本上是一个工作的快速答案。 我最初使用批处理,因为我不知道我会遇到这个问题,但我有点倾向于在Powershell中重做这个。 因为我在另一个可以进行转换的论坛上find了一些代码(下面)。 % foreach($i in ls -name DIR/*.txt) { \ get-content DIR/$i | \ out-file -encoding utf8 -filepath DIR2/$i \ } 寻找一些方向或在这方面的一些input。

Windows批处理编程:间接/嵌套variables评估

我们有一个列出一堆path的文本文件,以及一个从这个文件中读取行的batch file。 例如,TargetFolders.txt可能包含以下行: %ProgramFiles%\Acme\FooBar %VersionNumber% 当然,当我们从文本文件(使用FOR命令)读取这一行时,variables%%我接收实际的行文本,使用%符号而不是replacevariables值。 所以, SET VersionNumber=7.0 FOR /F "eol=; delims=" %%I IN (TargetFolders.txt) DO ( echo Folder: %%I ) 打印 Folder: %ProgramFiles%\Acme\FooBar %VersionNumber% 如何使其取代实际的variables值,以便打印 Folder: C:\Program Files\Acme\FooBar 7.0 ?

如何将Windowspath转换为文件:URL,在batch file中,适合SVN命令行使用

在基于Windows的SVN安装中(使用CollabNet Subversion Edge),我有一个post-commit的挂钩文件,在这里我构build了一个存储库文件夹名,我需要用指向该文件夹的file: URL调用svnsync 。 现在的问题是:如何将Windows文件夹或文件名转换为file: URL,以便该URL至less可以被SVN命令行工具接受?

“delims =#+#” – 多于1个字符作为分隔符

是否可以定义一个不限于1个字符的分隔符? 基于标题的例子,我想定义我的分隔符如“#+#”。 文本文件/行可以包含两个字符,但很less有机会遇到特定的子string/文本组合。

Windows蝙蝠:目录中的循环文件

我正在使用Windows。 我在一个目录的子目录中有很多jpg文件。 我不知道目录的架构,这意味着我不知道子目录有多less级别。 我需要做的是根据path处理jpg文件。 这里是一个例子: dir |—sub dir1 | |—–sub dir11 | |—–a.jpg | |—–b.jpg |—sub dir2 |—–c.jpg |—–d.jpg 所以我需要执行如下命令: process.bat C:\dir\sub dir1\sub dir11\a.jpg C:\dir\sub dir1\sub dir11\b.jpg process.bat C:\dir\sub dir2\c.jpg C:\dir\sub dir2\d.jpg 我不知道如何写这样一个蝙蝠文件,特别是一个蝙蝠处理path包含空格。 我不知道空间是否会造成一些麻烦。 我试过如下,但它不工作: @Echo off&SetLocal EnableExtensions EnableDelayedExpansion For /d %%A in (C:\dir\*) Do ( Set "Files=" For /f %%B in ("%%~fA\*.jpg") Do Set […]

批文件FOR / F标记

任何人都可以请解释如何以下代码工作,逐行。 我真的迷路了 我一直在试图学习如何使用FOR命令,但我不明白这一点。 @echo off for /f "tokens=* delims= " %%f in (myfile) do ( set line=%%f call :processToken ) goto :eof :processToken for /f "tokens=1* delims=/" %%a in ("%line%") do ( echo Got one token: %%a set line=%%b ) if not "%line%" == "" goto :processToken goto :eof

如何使用forfiles(或类似的)删除n天以前的文件,但总是离开最近的n

(使用Windows 2000和2003服务器) 我们使用forfiles.exe来删除n天以前的备份.zip文件,而且效果很好(命令有点像下面) forfiles -p"C:\Backup" -m"*.zip" -c"cmd /c if @ISDIR==FALSE del \"@PATH\@FILE\"" -d-5 如果.zip文件无法创build,我想确保在5天之后,备份中没有0个.zip文件。 因此,该命令需要是: “删除超过5天的任何东西,但总是保留最近的5个文件,即使它们本身大于5天” 我们可以使用forfiles.exe或其他解决scheme(尽pipe任何一个简单的单行程序总是优于脚本文件)。 谢谢!