草庐IT

dos-donts

全部标签

windows - 运行 .bat 文件时如何隐藏 ms-dos 窗口?

我正在为我的脚本(ScheduledTak(CronJob))每分钟运行一个.bat文件。当它运行时,Windows命令提示符会出现一段时间。我的批处理代码是这样的;@ECHOOFFC:\wamp\bin\php\php5.4.3\php.exe-f"C:\wamp\www\tst\index.php"如何在运行时隐藏此窗口? 最佳答案 使用VBScriptSetobjShell=WScript.CreateObject("WScript.Shell")objShell.Run("C:\yourbatch.bat"),0,True运

windows - 在 Dos 批处理文件中重命名多个文件

我想重命名文件夹*.txt中的所有文件,所以结果会是“1.txt”、“2.txt”和“3.txt”,....我该怎么做? 最佳答案 以下可能会完成您正在寻找的内容。它使用for循环遍历文本文件并“调用”批处理文件的另一位来执行变量的重命名和递增。编辑将数学运算更改为Andriy建议的更简洁的解决方案。@echooffseti=1for%%fin(*.txt)docall:renameit"%%f"gotodone:renameitren%1%i%.txtset/Ai+=1:done 关于

windows - 升级 Windows 的 DOS 批处理文件

有没有人最近有在Windows机器上编写自动化DOS批处理样式任务的需求?我有一些自动化工作要做,如果有更好的自动化这些任务的方法,我宁愿不坐下来在记事本中写一堆.BAT文件:主要是在特定日期和时间条件下移动文件,以及在移动文件前后触发Windows应用程序。我正在考虑一个IDE,它让所有DOS命令都对编辑器“可用”,并带有正确的参数语法检查。有没有类似的东西,或者我应该用.BAT文件以外的东西来解决这个问题? 最佳答案 对于BAT文件之外的简单Windows自动化,VBScript和Powershell也许值得一瞧。如果您想知道从

windows - 在 Windows 中对 500k 行文件执行 dos2unix 的最佳方法是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题说明了一切,我有一个500,000行的文件,它作为Windows机器上自动构建过程的一部分生成,并且充满了^M。当它走出大门时,它需要*nix友好,这里最好的方法是什么,是否有方便的代码片段可以为我做到这一点?还是我需要编写一些C#或Java应用程序?

c++ - 有什么方法可以阻止 _popen 打开 DOS 窗口吗?

我正在使用_popen启动一个进程来运行命令并收集输出这是我的C++代码:boolexec(string&cmd,string&result){result="";FILE*pipe=_popen(cmd.c_str(),"rt");if(!pipe)return(false);charbuffer[128];while(!feof(pipe)){if(fgets(buffer,128,pipe)!=NULL)result+=buffer;}_pclose(pipe);return(true);}有没有办法在不打开控制台窗口的情况下执行此操作(就像目前在_popen语句中所做的那样)?

ruby - 如何从 Unix 将 DOS 行结尾写入文件

我的UnixRuby程序需要编写一个文件,供其读取Windows上运行的SqlServer。我需要我写给这个的行文件以\r\n结束,DOS/Windows行结束,而不是\n,Unix行结尾。我希望这一切发生而我不必手动将\r添加到每行的末尾。起点如果我的程序像这样写入文件:File.open("/tmp/foo","w")do|file|file.puts"stuff"end然后文件有Unix行结尾:$od-cfoo0000000stuff\n这是预料之中的,因为我的程序是在Unix上运行的。但是我需要此文件(且仅此文件)具有DOS行结尾。手动添加\r到每一行如果我手动将\r添加到每一

windows - 使用 Windows/DOS shell/批处理命令,如何获取文件并只保留唯一行?

假设我有这样一个文件:applepearlemonlemonpearorangelemon我如何做到只保留独特的线条,所以我得到:applepearlemonorange我可以修改原始文件或创建一个新文件。我在想有一种方法可以一次扫描原始文件一行,检查新文件中是否存在该行,如果不存在则追加。我在这里不处理非常大的文件。 最佳答案 @echooffsetlocaldisabledelayedexpansionset"prev="for/f"delims="%%Fin('sortuniqinput.txt')do(set"curr=%%

windows - 为什么 .dll 文件中存在 "This program cannot be run in DOS mode"文本?

最近我在编译本地C++DLL项目时打开了一个由VisualStudio9生成的.dll文件,惊讶地看到开头附近的“此程序无法在DOS模式下运行”文本。为什么.dll文件中有这段文字? 最佳答案 dll非常类似于具有不同扩展名的可执行文件。您看到的文本是Windows上“标准”可执行文件头的一部分。它用于(曾经)优雅地中止从DOS运行Windows可执行文件的尝试。 关于windows-为什么.dll文件中存在"ThisprogramcannotberuninDOSmode"文本?,我们在

windows - DOS 批处理脚本是否有 "set -e"?

在bash中,脚本开头的“set-e”指示bash在内部任何命令首次失败时使整个脚本失败。如何对Windows批处理脚本执行相同的操作? 最佳答案 Tuim的解决方案有效,但它可以变得更简单。ERRORLEVEL已设置,因此无需转到设置ERRORLEVEL的标签。你可以简单地使用yourCommand||exit/b请注意,exit/b只会在您处于调用过程中时退出当前子例程。您的脚本必须逐层退出每个CALL,直到它到达脚本的根目录。只要您还在每个CALL语句之后放置测试,这就会自动发生call:label||exit/b可以强制批处

windows - Windows 如何确定/处理任何给定文件的 DOS 短名称?

我有一个包含这些文件的文件夹:alongfilename1.txt当我在命令提示符下运行DIR/x时,我看到分配了这些短名称:ALONGF~1.TXTalongfilename1.txtALONGF~2.TXTalongfilename3.txt现在,如果我添加另一个文件:alongfilename1.txtalongfilename2.txt我看到了这个:ALONGF~1.TXTalongfilename1.txtALONGF~3.TXTalongfilename2.txtALONGF~2.TXTalongfilename3.txt很好。它似乎是根据我创建文件的日期/时间分配“~#”