dos中for in后面执行多个命令的方法
生活随笔
收集整理的這篇文章主要介紹了
dos中for in后面执行多个命令的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
dos中for命令算是一個復雜的命令了,但是也能給我們實現一些復雜的操作
最近在寫dos命令的時候有這樣一個需求:
查找windows中的某個進程,并通過dos命令taskkill結束該進程:
本來思路是這樣的:通過tasklist命令列出所有的進程,通過管道命令傳給find找到該進程,通過for命令在返回的信息中找到進程號,然后結束該進程,最后寫出了這樣的語句:
for /f " tokens=2 delims= " %%i in ('taskkill | find "java.exe"') do taskkill /f /pid %%i結果發現執行的時候出錯,原因在于in后面只能跟單個的命令,多個命令組合就會出錯(大概是不支持多個命令組合在一起)解決的辦法:
將 ?
taskkill | find "java.exe語句寫入一個bat文件,比如findpro.bat
然后將語句這樣寫:
for /f " tokens=2 delims= " %%i in ('findpro.bat') do taskkill /f /pid %%i這樣程序順利執行了
這只是自己在使用過程中想到的一些方法,如果由更好的方法希望大家能夠提出意見,多多交流
最近再更新一個方法:
@echo off for /f "tokens=2 delims=:" %%i in ('dir/L^|find "itools"')do @echo %%ipause從當前目錄中查找itools的文件或目錄
總結
以上是生活随笔為你收集整理的dos中for in后面执行多个命令的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Python写的一个monkeyrun
- 下一篇: TCP/IP的层次结构以及各层数据封装的