bat腳本for
⑴ bat腳本for循環以查詢作為結果,沒有結果echo卻輸出內容
因為在for里執行時,會另外開啟一個cmd進程來執行wmic命令,所以結果中會多出一個id
⑵ BAT 批處理腳本求助 有關FOR /F 或者其他語法
假設要提取的文本名為1.txt
@echo off & setlocal enabledelayedexpansion
set file=1.txt
for /f "tokens=*" %%a in ('type "%file%"') do (
set str=%%a
echo !str!|findstr /i "REG_DWORD">nul&&set a=!str:~0,-14!
)
echo "!a!"
pause
如果有指定某個關鍵詞的話可以提高處理效率
@echo off & setlocal enabledelayedexpansion
set file=1.txt
for /f "tokens=*" %%a in ('findstr /c:"狙擊 生死線_02.rmvb" "%file%"') do (
set str=%%a
echo !str!|findstr /i "REG_DWORD">nul&&set a=!str:~0,-14!
)
echo "!a!"
pause
⑶ bat 腳本 for /f "delims=", delims的使用
1、在桌面新建文件夾bat_sql_import,bat_sql_import中新建文件夾all_sql,把所有要執行的sql拷貝到all_sql中。
⑷ bat 如何循環一段命令 goto或for都行
讓bat腳本循環執行有以下兩種方法:
第一、可以直接加個%0,即執行本身,實現循環。
第二、用goto命令,去到要重復的開頭,如果要限制次數,可以先set 一個值,循環一次減1,條件命令到0退出,實現循環。
(4)bat腳本for擴展閱讀:
goto語句一般格式如下:
goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的前面,標號後加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x<7);
goto loop;
goto語句的語義是改變程序流向, 轉去執行語句標號所標識的語句。goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。
⑸ 在bat批處理腳本中,怎樣將for語句中的%%i當作字元串處理做類似於%str:~1,5%之類的操作
SETLOCAL ENABLEDELAYEDEXPANSION
@echo off
for /l %%i in (1000,1,1005) do (
@SET num=%%i
@echo !num:~-1,1!
)
pause
大致的思路是把%%i賦值給另一個變數,再對另一個變數進行操作,本例是取了數字的最後一位,並且使用到了延遲變數
⑹ 如何讓bat腳本循環執行
1.可以直接加個%0,即執行本身…實現循環
2.或者 用goto命令…去到你要重復的開頭…如果要限制次數…可以先set 一個值,循環一次減1,條件命令到0退出,實在循環…
我qq543019571 有問題討論…
⑺ 問一個BAT腳本的問題
whoami返回值包括UserDomain和UserName,並且以""分隔,而Windows文件名不允許使用"",所以「whoami輸出的信息做為文件名」邏輯上是有問題的。
如果你只是想用UserName命名文件,可以這樣做:
whoami >> %username%.txt
當然,這樣也可以:
whoami >> %userdomain%_%username%.txt
同理,第二條指令,參考如下:
ipconfig >> %username%.txt
ipconfig /all >> %username%.txt
以上默認是按主程序已指定當前目錄的情況,不然文件名前需要加上路徑。
whoami參考
以上希望能幫上忙!
⑻ 使用Bat腳本實現批處理 for循環中使應用程序打開當前路徑下的文件
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir/s/b *HEAD*.key') do (
pushd "%%~dpa"
F:\LSDYNA\program\ls.exe i=%%~na.key
)
pause
⑼ 編程:bat文件的for循環寫法:
編程bat文件的for循環寫法:
@echo off
for /l %%a in (1,1,9) do (
for /l %%b in (1,1,9) do (
for /l %%c in (1,1,9) do (
echo %%a%%b%%c>>1.txt
)
)
)
pause
%%1是變數名,變數名只能是一個字.可為任意數字或字母;
/l是for里的一個遞增參數(初始值,遞增值,最終值)。
⑽ bat腳本for循環問題
@echooff
for/l%%ain(1,1,50)do(
for/l%%bin(1,1,50)do(
echoa=%%ab=%%b
SET/Ac=%%a+%%b
callecho%%c%%
)
)