Articles of batch file

Linux的bash脚本循环

我有1.txt 2.txt和script.php 1.txt: a b c d 2.txt www rrr ttt yyy 我希望bash文件在Linux下执行这个命令: ./script.php -na -j www>>n_j.txt ./script.php -na -j rrr>>n_j.txt ./script.php -na -j ttt>>n_j.txt ./script.php -na -j yyy>>n_j.txt ./script.php -nb -j www>>n_j.txt ./script.php -nb -j rrr>>n_j.txt ./script.php -nb -j ttt>>n_j.txt . . 我有一个蝙蝠代码与wondows cmd工作..我想要一个代码,它可以使用Linux命令行 @ECHO OFF FOR /F "tokens=1 delims= " %%I IN (1.txt) […]

顶部命令第一次迭代总是返回相同的结果

当运行top -b -n 1时,该命令总是返回相同的CPU值。 考虑连续5次以下的testing: [user@server ~]$ top -b -n 5 -d.2 | grep "Cpu(s)" Cpu(s): 18.5%us, 10.0%sy, 0.0%ni, 67.0%id, 4.2%wa, 0.0%hi, 0.2%si, 0.1%st Cpu(s): 39.8%us, 27.7%sy, 0.0%ni, 31.3%id, 0.0%wa, 0.0%hi, 1.2%si, 0.0%st Cpu(s): 39.0%us, 35.4%sy, 0.0%ni, 23.2%id, 0.0%wa, 0.0%hi, 1.2%si, 1.2%st Cpu(s): 41.2%us, 34.1%sy, 0.0%ni, 15.3%id, 1.2%wa, 0.0%hi, 2.4%si, 5.9%st Cpu(s): 59.0%us, 30.1%sy, 0.0%ni, […]

同时循环批量

这是我想要的,在BACKUPDIR里面,我想执行cscript /nologo c:\deletefile.vbs %BACKUPDIR%直到文件夹内的文件数大于21( countfiles保存它)。 这是我的代码: @echo off SET BACKUPDIR=C:\test for /f %%x in ('dir %BACKUPDIR% /b ^| find /v /c "::"') do set countfiles=%%x for %countfiles% GTR 21 ( cscript /nologo c:\deletefile.vbs %BACKUPDIR% set /a countfiles-=%countfiles% )

batch file中的文件大于4分钟

我正在使用这个脚本来计算一个文件的时间: set "filename=myfile.txt" rem extract current date and time for /f "tokens=1-5 delims=.:, " %%a in ("%date% %time%") do ( set day=%%a&set mon=%%b&set yr=%%c&set hr=%%d&set min=%%e ) rem extract file date and time for /f "tokens=1-5 delims=.:, " %%a in ('"dir %filename%|find "%filename%""') do ( set fday=%%a&set fmon=%%b&set fyr=%%c&set fhr=%%d&set fmin=%%e ) rem calculate age […]

为什么非交互式批处理脚本认为我按了control-C?

所以当我的批处理脚本突然出现在输出日志里时, 21:27:13.99 c:\apps\w7lab-scripting>some-command Error 3221225786 ^CTerminate batch job (Y/N)? 脚本停止死亡。 批处理脚本运行在会话零,所以我知道它没有收到一个真正的控制-C,没有我的代码调用GenerateConsoleCtrlEvent所以不能这样做。 唯一的线索是, some-command当时正在与一个交互式应用程序进行通信,并且该应用程序的控制台收到了一个控制-C。 预期的行为是some-command显示其他应用程序的退出代码,然后用相同的代码退出。 批处理脚本会处理错误,如果它没有停止。 这里发生了什么?

batch file脚本从文件名中删除特殊字符(Windows)

我有一大堆文件,其中一些包含文件名中的特殊字符(如ä,ö,%等)。 我想要一个脚本文件迭代这些文件,并重命名删除特殊字符。 我真的不介意它做什么,但它可以用下划线代替它们,例如 Störung%20.doc将重命名为St_rung_20.doc 按照优先顺序: 一个Windiwsbatch file 用cscript(vbs)运行的Windows脚本文件 可以从命令行运行的第三方软件(即不需要用户交互) 另一个语言脚本文件,我将不得不安装一个额外的脚本引擎 背景:我试图用Windows上的GnuPGencryption这些文件,但似乎没有用–encrypt-files选项来处理文件名中的特殊字符。

重新启动一个应用程序本身

我想用自己重新启动的函数来构build我的应用程序。 我在codeproject上find ProcessStartInfo Info=new ProcessStartInfo(); Info.Arguments="/C choice /CY /N /DY /T 3 & Del "+ Application.ExecutablePath; Info.WindowStyle=ProcessWindowStyle.Hidden; Info.CreateNoWindow=true; Info.FileName="cmd.exe"; Process.Start(Info); Application.Exit(); 这根本不起作用…另一个问题是,如何像这样再次启动它? 也许也有启动应用程序的理由。 编辑: http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=31454&av=58703

循环访问批处理脚本中的文件名

我想批处理脚本到文件夹中的所有文本文件。 这是我迄今为止所pipe理的: @ECHO off title Test set dir1=C:\Users\Family\Desktop\Example :Start cls echo 1. test loop echo 2. Quit set /p choice=I choose (1,2): if %choice%==1 goto test if %choice%==2 exit :test cls echo running loop test FOR %%n in (%dir1% *.txt) DO echo %dir1%\%%n echo Done pause 我想输出的是: running loop test C:\Users\Family\Desktop\Example\doc 1.txt C:\Users\Family\Desktop\Example\doc 2.txt Done […]

Windows Shell命令显示文件名和上次访问时间

我正在尝试写一个Windows命令来列出文件及其上次访问时间,按访问时间sorting。 我用过 dir [directory] /O:D /T:A /S /B > output.txt 这将按照上次访问时间顺序输出目录和子目录中的文件; 但是我也需要它输出最后的访问时间。 这是如何完成的?

用batch file中的参数运行exe文件

请看看我的batch file。 echo off start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2" 但它不工作。 任何想法如何让它工作?