批處理的延遲變數擴充套件
這個雙!就是延遲擴充套件,等執行時才擴充套件變數。
命令列窗口裡是延遲擴充套件是預設開啟的。
也可以setlocal EnableDelayedExpansion 開啟,setlocal DisableDelayedExpansion 關閉。
關閉後,輸出:
1,!num!
2,!num!
3,!num!
4,!num!
5,!num!
6,!num!
7,!num!
8,!num!
9,!num!
10,!num!
看看下面批處理的命令視窗輸出就能看到!和%擴充套件的不同:
批處理內容:
echo %str%
echo !str!
命令列輸出:
D:\>echo hello word
hello word
D:\>echo !str!
hello word
可以看到第一個執行時,變數已經替換掉了。
當然for裡的%%xxx形式的變數不存在擴充套件問題。
下面順便說一下批處理的特殊符號問題。
批處理的特殊符號如>,|等,如果要作為普通字元輸出,在前面加^即可。
如:
echo ^>
echo ^^
%用這個方法在命令列可以,在批處理裡不行。
在批處理裡要:
echo %%
!在批處理裡要作為普通字元輸出要:
echo ^^!
相關推薦
Bat批處理指令碼程式 延遲變數擴充套件和Call
原創 直接上指令碼吧,不難,但是有點饒頭。Bat東西說多不多,說不多也蠻多的,學個入門就差不多了,不想再深入了,能看懂會修改一點就可以了,比如編譯COCOS遊戲什麼的,批量複製個檔案啥的,看了兩三天,
批處理的延遲變數擴充套件
這個雙!就是延遲擴充套件,等執行時才擴充套件變數。 命令列窗口裡是延遲擴充套件是預設開啟的。 也可以setlocal EnableDelayedExpansion 開啟,setlocal DisableDelayedExpansion 關閉。 關閉後,輸出:1,!num! 2,!num! 3,!num! 4
批處理延遲變量
log ges es2017 cnblogs .com img logs 技術分享 png 批處理延遲變量
dos命令列或批處理中變數一個百分號和兩個百分號的區別
for 命令的基本語法如下: 在cmd視窗中:for %I in (command1) do command2 在批處理檔案中:for %%I in (command1) do command2 上面的變數有%I和%%I兩種,分別是一個百分號和兩個
Windows批處理或命令列迴圈變數不能設值--採用延遲環境變數擴充套件
看一個例子,在Windows下使用批處理來將一堆jar檔案合成一個長串,作為Java 執行命令的classpath的值。 1、應用場景 將TOMCAT lib目錄下所有的jar檔案合成一個長串。 2、錯誤的寫法 (1)示例 首先想到的做法是這樣的:
批處理——感嘆號和變數延遲擴充套件
先來說說變數延遲擴充套件吧。當然,放狗一搜,就能看到滿天飛的關於變數延遲擴充套件的文章,所以,我這裡就簡單介紹一下。先來看一段批處理: set str=test if %str%==test ( set str=another test echo
淺談批處理for命令中的變數擴充套件
三、帶引數 /f 的for(這裡的引數/F可以理解為“file”的意思,程式碼處理物件為文字串) ::例一: 程式碼: for /f "skip=1 tokens=1,2* delims= " %%a in (a.txt) do echo %%a %%b %%c pause 先從引號內的東西講起,很多新手
在批處理中判斷延遲環境變量擴展是否已啟用的方法
延遲環境變量擴展研究背景 由於特殊原因,有時我們需要在批處理中判斷延遲環境變量擴展是否已啟用,可以用下面的方法進行判斷。使用腳本@echo off setlocal enabledelayedexpansion set layedexpansion=1&if not "!laye
for批處理skip參數不支持變量延遲!n!的解決辦法
+= txt amp lse AS 參數 處理 off 變量延遲 a.txt 文件a第1行 文件a第2行 文件a第3行 b.txt 文件b第1行 文件b第2行 文件b第3行 合並ab .bat @echo off REM 把兩個文件逐
批處理腳本-延遲環境變量擴展
輸出 batch new echo local ria 期望值 onos its 批處理(Batch)腳本,使用的是按行讀取的預處理方式。在for循環中,do後邊的空號中的內容是作為一行來處理的,所以在擴號裏的賦值後輸出操作中賦值是無效的,如果需要使賦值有效,需要啟用變量延
bat文件中批處理設置變量延遲的問題
tex bat文件 ces ado type ref images delay tro 在bat文件中想實現對變量的賦值和輸出,發現設置的變量在後續使用中為空,代碼如下: @echo off for %%i in (*) do ( set var=%%i echo %var
配置maven環境變數cmd控制檯提示:mvn不是內部或外部命令,也不是可執行的程式或批處理檔案
下載Maven http://maven.apache.org/download.cgi 下載 apache-maven-x.x.x-.bin.zip ,下載後到硬碟 配置maven環境變數cmd控制檯提示:mvn不是內部或外部命令,也不是可執行的程式或批處理檔案 首先maven環境變數:
批處理一鍵安裝JDK/一鍵安裝JRE和自動配置Java環境變數
對於java或安卓初學者來說,配置java環境變數是一件比較頭疼的事情,在此我向大家分享一個一鍵安裝JDK和自動配置java環境變數的bat批處理方法,需要的朋友可以參考下 安裝JDK/安裝JRE以及配置java環境變數對於java初學者來說是一件比較頭疼的事
bat批處理設定Java JDK系統環境變數檔案
自己修改第3行的Java安裝目錄就可以設定JAVA_HOME, classPath,追加到PATH的最前面 JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10 classPath=%JAVA_HOME%\lib\tools.jar;%J
批處理bat指令碼修改hosts和配置環境變數
因為上班機每次重啟都要初始化配置,所以需要配置開發所需要的環境變數和hosts檔案 配置環境變數 新建bat檔案,這邊以新增maven環境變數為例,編輯程式碼: ::set system environment variable setx PATH "‘原有的環境變數’+E
解決jdk環境變數設定完後,在cmd中執行javac出現’javac‘不是內部或外部命令,也不是可執行的程式或批處理檔案的錯誤提示
我的jdk'和jre都安裝在java_jdk這個資料夾下,如上圖所示。 在環境變數中的path和classpath的引數配置如下: 變數名:JAVA_HOME 變數值:F:\java_jdk\jdk1.8 變數名:Path 變數值:
window 下 go lang 環境變數一鍵批處理設定
目的,就是為了我這種賊懶得人用的 作者:風來了.呆狐狸 使用的是GO lang ZIP壓縮包安裝 ,可以自動設定環境變數 使用方法 儲存為 go.bat 放到go 目錄內,執行go.bat即可,其中GOARCH 要根據自己系統位數設定,這邊是64位系統 原理:setx 設
maven問題一:maven配置環境變數提示:mvn不是內部或外部命令,也不是可執行的程式或批處理檔案
配置maven環境變數cmd控制檯提示:mvn不是內部或外部命令,也不是可執行的程式或批處理檔案 首先maven環境變數: 變數名:MAVEN_HOME 變數值:E:\apache-maven-3.2.3 變數名:Path 變數值:;%MAVEN_HOME%\bin cmd
批處理常用系統路徑 變數
系統變數 %HOMEDRIVE% = C:\ 當前啟動的系統的所在分割槽 %systemdrive% = C:\ 當前啟動的系統的所在分割槽 %SystemRoot% = C:\WINDOWS 當前啟動的系統的所在目錄 %windir% = %Sy
windows下用批處理設定設定環境變數 .
裝許多的行業軟體的時候需要手動在系統裡面加環境變數,比如oracle精簡客戶端等等。一臺機器沒什麼,多了就費時費力還容易出錯。 一般都是這樣: set PATH = %PATH%;D:\ytfy 此命令只對當前視窗有效,批處理一旦結束,變數就失效了。 常用此方法配置當前軟體的執行環境,如在PL/SQL的啟動