bat 指令碼 forfdelimsdelims的使用

2021-04-29 18:20:03 字數 1480 閱讀 5620

1樓:麥兜

^@echo off

set a=abaacadaaeaf

set a=%a:aa=%

echo %a:~

抄,3% %a:~2,3% %a:~-3%pause

樓上別學我的^.^

不能 你試試去掉tokens 就知道了!

for /f "delims=" %%i in ("%cd%") do set folder=%%~ni 請問這段**的意思,批處理。

2樓:公子七哥

%cd%——當前路徑

for /f "delims=" %%i in ("%cd%") do——逐行取雙引號中的內容。

因為就一行,所以這裡就是將

專%cd%賦值給%%i

%%~ni將%%i擴充到一屬個檔名

意思就是取%%i路徑中最後一個\後的檔名。

%cd%最後的一個檔名就是當前資料夾的名字。

所以這行的意思就是取當前路徑的資料夾名並賦給folder不用這麼多,下面這樣也可以的:

for %%i in ("%cd%") do set folder=%%~ni

批處理for /f "delims=" %%b in ('dir /s/b/a-d "%%a\*.*"') do...... ,這裡面的單引號什麼作用?

3樓:匿名使用者

上面批處理的bai意思:du

首先將(dgoa bmmail mail)裡面的dgoa賦予給%%a,這是

zhi%%a的值dao就是dgoa,然後執行下面的for /f 語句內。

'dir /s/b/a-d "%%a\*.*"':這容句的意思:

列出dgoa資料夾下所有的檔案,包括子資料夾下的檔案,用單引號是因為在for /f語句中()括號裡面如果是命令,必須用單引號把命令括起來:'dir /s/b/a-d "%%a\*.*"是命令,所以用單引號括起來。

上面的批處理合起來的意思就是:先把dgoa賦予給%%a,然後執行for /f語句:列出dgoa資料夾下的檔案,每個都賦予給%%b,執行do後面的命令;執行完後,在將bmmail賦予%%a,在執行和上面一樣的步驟,最後在將mail賦予%%a,重複上面的步驟

有疑問,請採納!

如果對你有幫助,請採納!謝謝!

for /f "delims=" %%f in ('dir /b /a-d /o-s') do (set z=%%~zf)什麼意思

4樓:rejoice臨江仙

這是段dos批處理程式

dir /b /a-d /o-s顯示目錄下檔案,各個引數的含義可以用dir/?檢視

set z=%%~zf是賦值給z變數

一個百分號表示引數,比如%1

兩個百分號括起來表示變數,比如%dirname%,%z%兩個百分號連在一起表示一個百分號,比如%%f其實是%f

我寫了BAT指令碼獲取指定網絡卡的IP地址,但是一直不成功,求大佬幫我看看

if rv is not none and rsv is not none extract version subversionself.nmap version number int line rv.start rv.end self.nmap subversion number int line...

寫個bat命令

echo off for f delims i in dir a d b dp0 asc do for f usebackq tokens delims j in i do if j pads pcb echo pads powerpcb v2005.2 basic design database ...

shell本地指令碼呼叫遠端指令碼當遠端指令碼執行完再繼

bin bash 呼叫expect指令碼執行遠端sh expect c set timeout 10000 spawn ssh usr ip expect assword expect send sh 1 r expect echo ls l 其中timeout時間需要設定足夠長,不然會連線超時斷掉...