DOS批處理中%cd%和%~dp0的異同分析
在DOS的批處理中,有時候需要知道當前的路徑。在DOS中,有兩個環境變數可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。
這兩個變數的用法和代表的內容是不同的。
1. %cd% 可以用在批處理檔案中,也可以用在命令列中;展開後,是驅動器碟符:+當前目錄,如在dos視窗中進入c:\dir目錄下面,
輸入:echo %cd% ,則顯示為:c:\dir 。
%cd%的內容是可以被改變的,其內容為命令的執行路徑或批處理檔案的執行路徑。
2.%~dp0只可以用在批處理檔案中,它是由它所在的批處理檔案的目錄位置決定的,是批處理檔案所在的碟符:+路徑。在執行這個批處理檔案的過程中,它展開後的內容是不可以改變的。比如在D盤下有個批處理檔案,path.bat,其內容為:
@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0
在C:\ 和E:\分別下執行它,輸出為:
相關推薦
DOS批處理中%cd%和%~dp0的異同分析
在DOS的批處理中,有時候需要知道當前的路徑。在DOS中,有兩個環境變數可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。 這兩個變數的用法和代表的內容是不同的。 1. %cd% 可以用在批處理檔案中,也可以用在命令列中;展開後,是驅動器碟符:+當前目錄,如在dos視窗中進入c:\d
DOS批處理中%~dp0表示什麼意思
如果一個install.bat檔案位於D:\jeesite\bin 檔案內容如下: @echo off echo [INFO] This is a demo. echo [INFO] %~dp0 pause 執行install.bat,命令列輸出如下 [INFO] This is a demo. [INF
DOS批處理中文字替換
在DOS批處理中要將某一行中的部分文字替換掉, 今天找到辦法了. set str=hello, this is a test, replace some characters using dos command rem 將小寫開頭的hello替換為大寫開頭的Hello se
dos下 和 批處理中的 for 語句的基本用法
for 語句的基本用法 : 最複雜的for 語句,也有其基本形態,它的模樣是這樣的: 在cmd 視窗中:for %I in (command1) do command2 在批處理檔案中:for %%I in (command1) do comma
dos命令列或批處理中變數一個百分號和兩個百分號的區別
for 命令的基本語法如下: 在cmd視窗中:for %I in (command1) do command2 在批處理檔案中:for %%I in (command1) do command2 上面的變數有%I和%%I兩種,分別是一個百分號和兩個
DOS批處理列舉所有碟符 和 fsutil命令檢視檔案系統
dos批處理列舉所有驅動器,在最後一個驅動器上建立你指定的目錄。 在純dos環境下你可以使用goto來指定它的走向,純dos環境下沒有vbscript可以使用,而dos命令就成為了較通用的指令碼。 @REM 其中redtek這個名字為你想要建立的目錄名稱
DOS批處理高階教程(三) : 批處理變數和set命令詳解
前言 這裡主要是帶著過一下相關的簡單概念和用法, 是對於有一定的基礎和編寫指令碼經驗的同學而言, 那麼一般下面的用法都是一眼看出作用和原理起到一個複習的作用。對於不熟悉的可以查詢相關命令和百度即可。 第四章 批處理中的變數 批處理中的變數,我
批處理%~d0 cd %~dp0 解釋
%~dp0 “d”為Drive的縮寫,即為驅動器,磁碟、“p”為Path縮寫,即為路徑,目錄cd是轉到這個目錄,不過我覺得cd /d %~dp0 還好些。選項語法:~0 - 刪除任何引號("),擴充 %0%~f0 - 將 %0 擴充到一個完全合格的路徑名(“f”是file,
[轉]批處理中
log svr3 相同 完整 article code 建議 ren 使用 本文來自:http://www.jb51.net/article/105325.htm regsvr32 "%~dp0phCache.dll" 在一個批處理中看到以上語句,並且同目錄下有 Cac
批處理中的IF詳解
效果 我不 width set 符號 等於 ron 例子 ima 在CMD使用IF /?打開IF的系統幫助會發現IF有3種基本的用法! 第一種用法:IF [NOT] ERRORLEVEL number command 這種用法現在很少用了,因為它需要使用到CHOICE命令,
Windows 批處理中 setlocal enabledelayedexpansion 的作用
預處理 環境 oca exp 變量延遲 cell 現在 pac lin 設置本地為延遲擴展。其實也就是:延遲變量,全稱延遲環境變量擴展, 想進階,變量延遲是必過的一關!所以這一部分希望你能認真看。 為了更好的說明問題,我們先引入一個例子。例1: ?
在Bat批處理中調用Powershell腳本
pushd fff 格式 ## popd it資訊 man ext command ##如何在BAT中調用powershell,把下面代碼另存為bat格式 pushd %~dp0 powershell.exe -command ^ "& {set-executi
在批處理中調用VBScript(支持獲取返回值)
都是 exp sap net 什麽 api 獲得 鏈接 結果 有個帖子簡單介紹了利用mshta來調用vbs的方法(鏈接)。雖該文章作者認為 到此,在bat中使用vbs得到了完全解決。從此可以在bat和vbs間自由的航行了。 但任然無法獲取vbs的返回值,可見該方法有一定
圖像處理中Stride和Width的關系
關系 pos 圖像 class ide 就是 gpo 字節 計算 一行有 11 個像素(Width = 11), 對一個 32 位(每個像素 4 字節)的圖像, Stride = 11 * 4 = 44. 但還有個字節對齊的問題, 譬如: 一行有 11 個像素(
在批處理中判斷延遲環境變量擴展是否已啟用的方法
延遲環境變量擴展研究背景 由於特殊原因,有時我們需要在批處理中判斷延遲環境變量擴展是否已啟用,可以用下面的方法進行判斷。使用腳本@echo off setlocal enabledelayedexpansion set layedexpansion=1&if not "!laye
DOS 批處理命令For迴圈命令詳解
轉載:https://www.jb51.net/article/93171.htm for命令是一種對一系列物件依次迴圈執行同一個或多個命令的在命令列或批處理中執行的命令,結合一些Windows管理中的程式後,其處理功能強大、應用靈活方便程度令人刮目相看。但是,其幫助資訊也因此複雜往往令初學者望
Dos批處理命令bat檔案執行完以後自動關閉dos視窗的方法
Dos 批處理命令 bat Dos 批處理命令 bat 檔案執行完以後自動關閉 dos 視窗的方法: 很多人執行完批處理命令發現 dos 視窗不能自動關閉,那是因為你在 bat 檔案中直接執行了需要執行的某些外部程式, 如果希望 dos 視窗自動關閉,
win用批處理切換python2和python3
切換成 python2 setx PYTHON_PATH "C:\Python\Python27" set PATH=%PATH% echo %PATH% ================================= 切換成python3 setx PYTHON_PATH "C:\Python\
DOS 批處理命令
(1)copy con[碟符:][路徑名](檔名) 用於建立.bat檔案或.txt檔案,然後以Ctrl Z結束。 例如: (a)copy con test.bat 回車 Ctrl Z 回車
Swift中Class和Struct異同
Swift 中類和結構體有很多共同點。共同處在於: 定義屬性用於儲存值 定義方法用於提供功能 定義下標操作使得可以通過下標語法來訪問例項所包含的值 定義構造器用於生成初始化值 通過擴充套件以增加預設實現的功能 實現協議以提供某種標準功能 與結構體相比,類還有如下的附加功能: 繼承允許一個類繼承另一個類