Articles of batch file

DOS命令 – 排除xcopy中文件夹中的文件

我有一个包含许多其他子文件夹的文件夹。 我想写一个batch file,将一些文件夹复制到我的硬盘上的另一个地方。 我正在使用“xcopy”。 我面临以下问题:文件夹结构如下所示 – –FolderB1 — FolderB2 — FolderB22 — FILE1.TXT — FILE2.TXT — File3.txt 我在“FolderB1”中有一些.txt文件,以及“FolderB2”和“FolderB22”,我想复制“FolderB2”和“FolderB22”,并跳过“Folder B1”中包含的“.txt” 我尝试使用/ EXCLUDE:xcopy命令的参数,但它不能执行此操作。 如果我将排除项指定为\ FolderB1 \ *。txt或这种types的东西,这是行不通的 。 主文件夹的数量是未知的。 它可以是任何东西。 另外,“.txt”文件的名称没有固定模式。 也检查了这个问题 ,但没有帮助。 替代方法或其他指针相同将是一个很大的帮助。 提前致谢。

batch file中的其他条件

我需要将下一个代码(C语言)条件转换为batch file: if(version == 1 || version == 2) { // do something } else { // do something other } 所以在batch file中,它将如下所示: if "%version%"==1 ( // do something ) if "%version%"==2 ( // do something ) if not "%version%"==1 ( // do something other ) if not "%version%"==2 ( // do something other ) […]

Windowsbatch file循环通过目录处理文件?

好吧,我是一名PHP程序员,不幸的是,由于我不会公布简短的原因,我需要编写/使用batch file,为我处理一些图像。 我有一个文件夹充满了嵌套的文件夹,每个这些嵌套的文件夹里面还有一个包含多个TIF图像的文件夹,每个文件夹中的图像数量各不相同。 我也有一个batch file,让我们称之为ProcessImages.bat为Windows,你可以“放”这些TIF文件(或显然在调用蝙蝠时在命令行列表中指定它们); 在此基础上创build一个新的文件夹与我所有的image processing基于我有一个EXE。 好处是,因为bat文件使用了从“drop”到它的文件夹的path,所以我可以select一个文件夹的所有TIF并放置它来完成处理…但是当我继续手动执行此操作我有300多个TIF文件夹,我发现它让我的系统变得如此令人难以置信,如果我只能一次处理这些文件(不需要手工操作),那就太棒了。 所有这些说…有人可以指向我的方向正确的方向(对于Windows蝙蝠文件AMATEUR)以一种方式我可以写一个Windows bat脚本,我可以从一个目录中调用,并通过所有目录该目录…并在每一组图像上运行我的处理batch file? 提前致谢! 泰勒

批量创build基于部分文件名称的文件夹并将文件移动到该文件夹​​中

我在一个文件夹中有160万(!)PDF文件。 这些文件的名字都是这样的: LAST_FIRST_7-24-1936 Diagnostic – Topography 11-18-10_1.pdf LAST_FIRST_7-24-1936 Glasses RX 6-1-11_3.pdf 我需要根据文件的第一部分创build一个文件夹,然后将该文件和所有其他文件与该文件名相同的第一部分移动到该文件夹​​中。 在这种情况下,该文件夹将被命名为“LAST_FIRST_7-24-1936”。 文件夹将始终与文件的第一部分相同,直到空格为止。 我想创buildbatch file,将这样做。 凭借我基本的编程知识,我想出了这个逻辑过程: 1 Take the first file and name it var1 2 Remove everything after the space in var1 and name it var2 3 Create a folder named var2 4 Move the file var1 into the folder var2 5 If […]

Windows批处理 – 循环播放文件夹string并parsing出最后一个文件夹名称

我需要抓取当前正在执行的batch file的文件夹名称。 我一直试图循环使用以下语法(目前是错误的)当前目录: set mydir = %~p0 for /F "delims=\" %i IN (%mydir%) DO @echo %i 几个问题,我似乎无法通过'mydir'variables值作为searchstring。 如果我传递命令,它似乎只能工作; 我有语法错误,不能解决原因。 我的想法是用“\”分隔符来遍历文件夹string,但这也会导致问题。 如果我在每个循环上设置一个variables,那么最后一个值将是当前文件夹名称。 例如,给定以下path: C:\ Folder1中\文件夹2 \ Folder3 \ Archive.bat 我希望parsing出“Folder3”的值。 我需要parsing这个值,因为它的名字是我将在batch file中创build的另一个文件夹的一部分。 非常感谢任何人都可以帮忙。 我可能会彻底地把错误的树叫出来,所以任何其他的方法都会被大大接受。

如何在BATCH文件中logging所有ECHO命令?

我正在尝试使用BATCH文件作为一个select你自己的冒险故事,用户可以在其中创build一个angular色,并通过故事中的angular色名称等来调用。 这让我想起了一个小时,如果在包含故事的BATCH文件运行之后,它会很酷,logging所有的ECHO命令,以便以后玩家可以读取他们在任何给定游戏中所做的事情。 我希望日志文件如下所示: %date%%时间百分比(通过echo命令显示文件运行长度的所有文本) 不幸的是,我能想出的办法是只用date和时间创build一个loge文件。 把“>> StoryLog.txt”工作,使.txt文件,我在那里得到的date和时间,但它只是显示文本“>> StoryLog.txt”后我想batch file显示在回显txt在“您沿着path向北走去>> StoryLog.txt”显示在屏幕上。 这自然不会工作。 我该怎么办?

如何从Windowsbatch file发送简单的电子邮件?

我正在运行Windows 2003 Service Pack 2.我有一个按需运行的batch file。 我希望每次运行batch file时都会收到一封电子邮件。 电子邮件很简单,只是一个表示batch file运行的句子; 每次都是一样的 我已经尝试了几件事情来完成。 我想到了telnet,但我不知道如何将一组命令redirect到telnet; Windowsbatch file没有Unix风格的“here文档”,并且在其中scriptfile包含用于发送电子邮件的命令的情况下调用"telnet <scriptfile"不起作用。 我还使用CDO.Message在互联网上find了一些解决scheme,但是我从来没有使用过,我一直在收到我不明白的错误消息。 我怎样才能从Windowsbatch file发送简单的电子邮件?

python脚本可以持久地改变一个Windows环境variables吗? (典雅)

继上一个问题之后 ,是否有可能创build一个持续改变Windows环境variables的Python脚本? 一旦python解释器终止,对os.environ的改变不会持久。 如果我在UNIX上编写脚本,我可能会这样做: set foo=`myscript.py` 但是,唉,cmd.exe没有什么像sh的back-tick行为那样工作。 我已经看到了一个非常啰嗦的解决scheme…它是不是很确定,我们可以改进: for /f "tokens=1* delims=" %%a in ('python ..\myscript.py') do set path=%path%;%%a 毫无疑问,微软的头脑有比这更好的解决scheme! 注意 : 这个问题的确切重复。

在Windows 7registry中查找Java CurrentVersion

我支持一个旧的Java客户端应用程序,在Windows XP上运行正常,但不支持Windows 7 32位。 问题出在用于启动应用程序的BAT文件中。 BAT文件包含查询registry以查找Java的CurrentVersion的代码,然后使用该值确定用户计算机上该Java版本的path。 在Java客户端应用程序启动时,为了将rt.jar包含在CLASSPATH中,这是必需的。 下面的代码在Windows XP上工作正常,但在Windows 7上它返回: 找不到“HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment”\ CurrentVersion。 :find_java setlocal ENABLEEXTENSIONS set KEY_NAME="HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" set VALUE_NAME=CurrentVersion :: :: get the current version :: FOR /F "usebackq skip=4 tokens=3" %%A IN (`REG QUERY "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" /v CurrentVersion 2^>nul`) DO ( set ValueValue=%%A […]

在jenkins的远程服务器(windows)上运行批处理脚本

我有一个持续集成服务器(jenkins),它build立我的代码(检查编译错误),并运行testing,然后将文件部署到远程服务器(不是一个战争文件,但实际的文件结构)jenkins插件,它允许我通过桑巴传输文件,它每晚做。 现在,我需要做的是在远程服务器上运行一个ant命令。 之后,我需要在远程服务器上启动应用程序服务器,通过从命令行运行.bat文件启动应用程序服务器。 我很笨,如何做到这一点,我知道jenkins是能够运行批处理命令,但我怎么让他们运行在服务器的上下文,而不是构build服务器的上下文?