Articles of DOS

使用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。 但我真的不知道如何使用批量编程来匹配文件的内容。

通过Ruby持久化一个环境variables

我想在Ruby中设置我的DOS环境variables,并在脚本退出后保持它。 例如,如果我想要一个ruby脚本set_abc_env.rb将环境variables“ABC”设置为“blah”,我期望运行以下命令: C:> echo %ABC% C:> set_abc_env.rb C:> echo %ABC% blah 我该怎么做呢?

批量转换是否完成?

我无法find是否是非常好奇,如果它不合格,它缺乏资格的function? 我已经做了一个相当数量的批次,并没有看到任何明显的能力滑倒。

在batch file循环

可能重复: 随机variables在windowsbatch file中的“for”循环中不变 我有我想要重命名文件列表的文本文件。 这是我的代码: for /f %%i in (tmp.txt) do set script_name=%%i & ren %script_name% %script_name:~0,9%%num%%script_name:~15,9%.sql 但是在第二部分中,仅在循环的第一次迭代中需要%script_name% 。 所以 ren %script_name% %script_name:~0,9%%num%%script_name:~15,9%.sql 总是这样做。 请帮助解决这个问题。

在dos命令提示符下是否存在与bash或tcsh中的等效源命令?

我知道,在unix世界中,如果编辑.profile或.cshrc文件,可以使用source〜/ .profile或source〜/ .cshrc来获取当前会话的效果。 如果我在Windows系统variables中更改了某些内容,如何在不退出命令提示符会话并打开另一个命令提示符会话的情况下使当前命令提示符会话生效?

调整CMD窗口

如何在C或C ++中以编程方式调整命令提示符窗口的大小? 例如80×25或80×40字符。 先谢谢你。

batch file从多个文件夹中的多个文件中删除某些string

我有一个文件夹有许多子文件夹,每个子文件夹包含数十个不同长度的.mht文件。 我需要帮助创build一个批处理脚本来筛选出这个特定的string: "</BODY></HTML>" 我可以添加行的HTML文件,然后再添加到最后。 这是我迄今为止: setlocal enabledelayedexpansion for /r %%a in (*.mht) do ( for /f "skip=11" %%b in (%%a) do (if %%b=="</BODY></HTML>" del %%b) echo "stuff to add">>%%a echo "</BODY></HTML>">>%%a ) 有没有什么办法来解决我当前的脚本,或者你知道任何更简单的方法来做到这一点? 注意 :我试图把除了不需要的string之外的所有东西都拷贝到一个临时文件中,但是前面的11行包含特殊字符: | , . :

System()调用C ++及其在编程中的angular色

我经常听说使用system("PAUSE")是不好的做法,而是使用std::cin.get()来代替。 现在我对系统调用的理解是,他们把一个stringinput到系统命令行并和操作系统通话,所以PAUSE是一个DOS命令,它在命令窗口中暂停输出。 我认为这与Mac和unix具有不同的关键字,并且由于缺乏跨OS兼容性而不鼓励使用系统调用。 (如果我有任何错误,请纠正我) 我的问题是:什么时候适合使用system()调用? 他们应该如何应用? 什么时候不应该申请?

批量删除文本文件中的一行?

我拉我的头发find一个DOSbatch file,将删除几千个txt文件的第一行的简单示例,并保存与原始文件名的文件。 在由另一个程序执行的批处理之后,然后我必须在每个文件的开始处添加被删除的行(由“X,Y,Z”组成的文本串)在外部处理之后。

从一个batch file启动多个shell提示

我有一套DOS命令,我需要在不同的shell实例中运行。 是否有一个可以写入多个cmd实例的单个batch file,并在每个提示中执行一组DOS命令?