Articles of batch file

如何在使用setx之​​后检索值?

我需要存储一个值(时间戳),稍后在batch file中检索它。 所以我search了如何存储一个持久variables,并find了答案的答案。 我这样使用它: C:\tmp>setx TIME_VAR %time% SUCCESS: Specified value was saved. 但是,当我试图用回声打印它不在那里: C:\tmp>echo TIME_VAR TIME_VAR C:\tmp>echo %TIME_VAR% %TIME_VAR% 我如何检索我的储值?

批处理目录中的所有文件

现在我有一个批处理作业,我写了调用另一个文件,并传递可执行文件需要运行的variables(密码和文件名)。 例如: > cd f:\test\utils > admin import-xml -Dimport.file=f:\DB\file1.xml -Dadmin.db.password=test123 我写了一个这样做的工作,但发现会有多个文件。 用户名和密码永远不会改变,但文件名不同,像15个不同的XML文件 – 也许更快即将到来。 这些文件将始终位于相同的文件夹中。 我可以写一些将处理位于这个目录中的每个文件的东西,而不是像15-20个作业(每个文件一个)。 等待下一个完成之前,或者我可以添加一个3分钟的睡眠,然后开始下一个文件。

如何使用bat文件脚本replace文本文件中的文本?

所以我想创build一个脚本,它需要3个参数:文件path,replace确切词,以及replace它。 如何创build这样的事情? 一般我想要它有一个这样的API: script.bat "C:/myTextDoc.xml" "_WORD_TO_REPLACE_" "WordTo Use"

如何复制一个目录结构,但只包含某些文件(使用Windowsbatch file)

正如标题所说,我如何recursion复制一个目录结构,但只包含一些文件。 例如给出以下目录结构: folder1 folder2 folder3 data.zip info.txt abc.xyz folder4 folder5 data.zip somefile.exe someotherfile.dll 文件data.zip和info.txt可以出现在目录结构中的任何地方。 如何复制完整的目录结构,但只包含名为data.zip和info.txt的文件(应忽略​​所有其他文件)? 生成的目录结构应如下所示: copy_of_folder1 folder2 folder3 data.zip info.txt folder4 folder5 data.zip

我怎样才能用Windows批处理脚本写一个空的ASCII字符(nul)到一个文件?

我试图从Windows批处理脚本中写入一个ASCII空字符(nul)到一个文件,但没有成功。 我最初尝试使用这样的echo : echo <Alt+2+5+6> 这似乎应该工作(在命令窗口中键入<Alt+2+5+6>确实写入空字符 – 或^@因为它出现),但echo然后输出: More? 并挂起,直到我按<Return> 。 作为替代我尝试使用: copy con tmp.txt >nul <Alt+2+5+6><Ctrl+Z> 这正是我所需要的,但只有在命令窗口中手动input。 如果我从一个batch file运行它,它会挂起,直到我按下<Ctrl+Z>但是即使这样输出文件被创build,但仍然是空的。 我真的希望batch file独立,而不需要(例如)包含空字符的单独文件,在需要时可以复制它。

如何在使用netcat时根据请求有条件地做出响应

我正在尝试仅使用Windows批处理脚本来设置Web服务器。 我已经想出了以下脚本: @echo off @setlocal enabledelayedexpansion for /l %%a in (1,0,2) do ( type tempfile.txt | nc -w 1 -l -p 80 | findstr mystring if !ERRORLEVEL! == 0 ( echo found > tempfile.txt ) else ( echo not-found > tempfile.txt ) ) 但是,响应总是一个请求,我的意思是,如果我在浏览器中input这样的内容: REQUEST: localhost/mystring 我会得到以下回应: RESPONSE: not-found 只有在下一个请求中,我才会收到上面提出的请求的正确答案。 发生这种情况是因为一旦netcat接收到一个请求,它会根据请求响应当前尚未更新的tempfile.txt内容。 是否有任何方法来阻止响应,直到tempfile.txt更新或任何其他方法完成预期的结果?

正则expression式search批量replace

我想要在一组文件中的窗口批量search/replace正则expression式模式。 它会是这样的: if the regex matches a line matches then replace it with a new line. 也需要在正则expression式中添加一个variables来replace值。 有谁知道如何处理批处理脚本? 我不太熟悉它。 一些例子可能有帮助。

如何将一个命令的输出插入batch file中的variables?

在Windows上的batch file里,我想要一些variables来输出dir /b命令。 这可以如何实现?

如何编写一个Windowsbatch file

我在位置“ C:\Users\me\Desktop ”中有一个可执行的“ myfile.exe ”文件我想通过批处理在C:\Users\me\Desktop上执行命令“ myfile.exe <firstArg> <secondArg> ”文件, 在命令行中: C:\Users\me\Desktop>myfile.exe <firstArg> <secondArg> 如何在windows中编写上述命令的批处理脚本

确定批处理脚本是否已从命令行(cmd)启动/执行 – 或者 – 要暂停还是不暂停?

我喜欢在我的cmd.exe脚本中有一个典型的“用法:”行 – 如果缺less一个参数,用户将得到如何使用脚本的简单提示。 问题是我不能安全地预测潜在用户是否使用GUI或CLI。 如果有人使用GUI在资源pipe理器窗口中双击这个脚本,他们将没有机会读取任何东西,除非我pause窗口。 如果他们使用CLI, pause会困扰他们。 所以我正在寻找一种方法来检测它。 @echo off if _%1_==__ ( echo usage: %nx0: filename rem now pause or not to pause? ) 有没有一个很好的解决scheme呢?