我想檢查用戶是否在使用Windows批處理文件的命令提示符下的正確目錄中。正確的目錄存儲在系統環境變量中。例如,如果HOME
設置爲C:\path\to\home
,我想知道,如果用戶是在該目錄中:如何使用Windows批處理文件檢查用戶是否在正確的目錄中
c:\some\directory>check.bat
No
c:\path\to\home>check.bat
Yes
我想檢查用戶是否在使用Windows批處理文件的命令提示符下的正確目錄中。正確的目錄存儲在系統環境變量中。例如,如果HOME
設置爲C:\path\to\home
,我想知道,如果用戶是在該目錄中:如何使用Windows批處理文件檢查用戶是否在正確的目錄中
c:\some\directory>check.bat
No
c:\path\to\home>check.bat
Yes
if /i "%CD%"=="%HOME%" (
echo Yes
) else (
echo No
)
if /i "%CD%"=="%HOME%" echo woooooooooo!
%CD%代表了命令提示符的當前目錄。
您可以比較來自像這樣
if /i "%~dp0"=="%HOME%\"
或支票正在運行的腳本檢查當前的工作目錄與%CD%
但是位置,你也可以只讓正確的目錄
cd /d "%HOME%"
對於一個真正的目錄比較W¯¯在此文件夾可能會或可能不會有一個尾部的反斜槓
for %%A in ("%~dp0%\") do for %%B in ("%HOME%\") do if /i "%%~fA"=="%%~fB"
大衛,你的第一個解決方案,因爲'%HOME%'缺少結尾的斜線失敗。第二種解決方案還應該在cd命令中包含'/ d'開關。 – foxidrive
@foxidrive是的,我想到了這兩個項目,但只是不想花時間在寫這個快速編程時添加額外的時間。只有在更換驅動器時才需要'/ d'。 –