批處理for語句中i是什麼意思,批處理for語句中 xi是什麼意思

時間 2021-10-30 06:35:52

1樓:典雁佛

for命令是乙個比較複雜的命令,主要用於引數在指定的範圍內迴圈執行命令。

在批處理檔案中使用for命令時,指定變數請使用%%variablefor變數參照的替換已被增強。您現在可以使用下列選項語法:~i -刪除任何引號("),擴充%i

%~fi -將%i擴充到乙個完全合格的路徑名%~di -僅將%i擴充到乙個驅動器號

%~pi -僅將%i擴充到乙個路徑

%~ni -僅將%i擴充到乙個檔名

%~xi -僅將%i擴充到乙個檔案延伸名

%~si -擴充的路徑只含有短名

%~ai -將%i擴充到檔案的檔案內容

%~ti -將%i擴充到檔案的日期/時間

%~zi -將%i擴充到檔案的大小

%~$path:i -查詢列在路徑環境變數的目錄,並將%i擴充到找到的第乙個完全合格的名稱。如果環境變數未被定義,或者沒有找到檔案,此組合鍵會擴充空字串可以組合修飾符來得到多重結果:

%~dpi -僅將%i擴充到乙個驅動器號和路徑%~nxi -僅將%i擴充到乙個檔名和延伸名%~fsi -僅將%i擴充到乙個帶有短名的完整路徑名%~dp$path:i -查詢列在路徑環境變數的目錄,並將%i擴充到找到的第乙個驅動器號和路徑。

%~ftzai -將%i擴充到類似輸出線路的dir在以上例子中,%i和path可用其他有效數值代替。 %~語法用乙個有效的for變數名停止。選取類似%i的大寫變數名比較易讀,而且避免與不分大小寫的組合鍵混淆。

2樓:匿名使用者

%%~xi 是擴充%%i 到檔案的副檔名。

比如下面的例子,只用顯示.cdm

@echo off

for /f %%i in ("123.cmd") do (echo %%~xi)

pause

批處理中,當for語句中使用了%%~ni後,如何將其賦值給變數var

bat中%和%%有什麼區別,怎麼用?

3樓:字匠

bat中%和%%有什麼區別,怎麼用,解決辦法:

如果乙個名稱用%括起來,那麼就是用的它的賦值,而不是本身的字母。

%%i 這種變數是for 語句裡面 特有的變數(還有一種是外部變數,接受外部引數的格式是%1 -%9  共9個變數),只有在批處理裡面才寫 兩個 %% 號表示變數,cmd中只用 乙個 % 號。

反正只要你在批處理檔案裡面用 for,變數就用 %%。

比如echo time,echo %time%以上兩個前者顯示time這個字母,後者顯示系統時間 19:42:12:02

還有%diskdiver%=系統盤等。

可以用set自己設定,有一些是系統預設的比容上面說的time;diskdiver。

在bat批處理指令碼中,怎樣將for語句中的%%i當作字串處理?做類似於%str:~1,5%之類的操作?

4樓:神靈武士

setlocal enabledelayedexpansion@echo off

for /l %%i in (1000,1,1005) do (@set num=%%i

@echo !num:~-1,1!

)pause

大致的思路是把%%i賦值給另乙個變數,再對另乙個變數進行操作,本例是取了數字的最後一位,並且使用到了延遲變數

在批處理中%是什麼意思 作用

5樓:匿名使用者

如果是 %a% 這種形式 ,就是變數的引用,

@echo off

set a=123 rem定義乙個變數a 賦值為123

echo %a% rem顯示出變數a的值(如果不加% %系統會把a當字元處理了,不會當成變數的)

%%i 這種變數是for 語句裡面 特有的變數(還有一種是外部變數,接受外部引數的格式是%1 -%9 共9個變數),只有在批處理裡面才寫 兩個 %% 號表示變數,cmd中只用 乙個 % 號。反正只要你在批處理檔案裡面用 for,變數就用 %%。例如

批處理中的寫法

for %%i in (1 2 3 4 5 ) do echo %%i

為什麼批處理中用兩個 %%,其實是編譯器編譯的時候要遮蔽乙個%

在cmd視窗中寫法

for %i in (1 2 3 4 5 ) do echo %i

現在說下外部變數,是系統制定的,只有9個,專門儲存外部引數的,就是執行批處理時加的引數。只有 %1 %2 %3 %4 ...... %9

例如 @echo off

echo %1

echo %2

echo %3

echo %4

將上面的**複製到記事本。儲存格式為 bat

現在怎樣傳遞引數給這個批處理,如下

在開始》執行 裡面輸入 cmd 確定

在彈出來的視窗中 輸入 上面 批處理檔案 的 完全路徑名,然後就加要傳遞的引數了 例如 c:\text.bat aaaa bbbb cccc dddd eeeee

上面 aaaa bbbb cccc dddd eeeee

就是傳遞給 批處理 「引數」這些引數 會儲存在 %1至 %9 這9個變數名,最多只能儲存 9 個。執行下就知道了,上面批處理檔案中 %1變數儲存的是aaaa

%2 儲存的是 bbbb

%3 儲存的是 cccc

%4 儲存的是 dddd

%5 是 eeee 上面沒有用到 %5變數

6樓:

% 變數的標識

% % 兩個百分號中間的內容就是乙個變數名。。。如你舉的例子那樣

還有一種用法。。用於 for 命令的。。。。

7樓:匿名使用者

% 是引用的意思:

例1:@echo off

echo %time%

pause

此例就是引用,引用了系統時間。

例2:@echo off

set /p qq=輸入你的qq號:

echo 你剛剛輸入的qq號碼是:%qq%pause

此例引用鍵盤上輸入的變數"qq"的值.

如果你的批處理中用了變數延遲,

那麼就不能用"%"來引用了,

就要用"!",

例如:@echo off

setlocal enabledelayedexpansionecho !time!

pause

for 命令中用乙個"%"是在cmd下才這樣用,在批處理中就要用兩個"%"。

就不細說了,有機會咱們在qq上互相學習!

sql語句中的符號是什麼意思,sql 語句中 符號是什麼意思?

以下希望對你有所幫助。儘管宣告字串常量的標準方法通常都很方便,但是如果字串包含很多單引號或者反斜槓,那麼理解字串的內容可能就會變得很苦澀,因為每個單引號都要加倍。為了讓這種場合下的查詢更具可讀性,postgresql 允許另外一種稱作 美元符包圍 的字串常量宣告辦法。一個通過美元符包圍宣告的字串常量...

sas語句中的或者是是什麼意思,sas中各種符號的意思,例如 , , 什麼的

都是行控制符。可以簡單理解為,代表跳轉到當前輸入值的下一行 不論當前行是否還有內容未輸入 代表繼續輸入當前行的內容,直到結束為止。 兩個都是行控制符 表示執行下一個操作時,指標移到下一個記錄。表示執行下一個操作,指標保持在當前記錄。給個例子 data a input x y cards 1 2 3 ...

i是啥意思,i 和 i是什麼意思?

蒲公英花開丶 i我雙語例句 1why should i believe you?我為什麼要相信你?2can i help you?我可以幫你嗎? 傻吖 看放在 如果單純說就是 我 的意思。 曩年 in.第一人稱單數代詞,用作動詞的主語 我 英文本母i 例句 1.i don t believe a w...