यहाँ एक और तरीका है, तो अपने अभाव एक स्ट्रिंग की शुरुआत से% सीडी% दूर करने के लिए काम करता है कि है। यह धीमा है लेकिन यदि आप स्थिति की अनुमति देते हैं तो आप लूप की संख्या को कम कर सकते हैं।
call :removeCommonAtStart outvar C:\Users\Public\Documents\ASUSAccess
:removeCommonAtStart
:: Description: loops through two strings and sets new variable representing unique data
:: Required parameters:
:: name - name of the variable to be returned
:: test - string to have common data removed from start
:: Optional parameters:
:: remove - string if not defined then use %cd% as string.
:: Required functions:
:: removelet
set name=%~1
set test=%~2
set remove=%~3
if not defined remove set remove=%cd%
set endmatch=
FOR /L %%l IN (0,1,150) DO if not defined notequal call :removelet
goto :eof
:removelet
:: Description: called by removeCommonAtStart to remove one letter from the start of two string variables
:: Required preset variables:
:: test
:: remove
:: name
set test=%test:~1%
set %name%=%test:~1%
set remove=%remove:~1%
if "%test:~0,1%" neq "%remove:~0,1%" set notequal=on&exit /b
goto :eof
धन्यवाद, यह पूरी तरह से काम करने लगता है! मैंने पहले कभी उस वाक्यविन्यास को नहीं देखा है, क्या आप कृपया स्पष्टीकरण या लिंक प्रदान कर सकते हैं? –
मैं भी उत्साहित हूं क्योंकि यह काम करता है, भले ही मैं कहने से नफरत करता हूं, मुझे नहीं पता कि क्यों। –
टाइप करें: 'एसईटी /? 'और" पर्यावरण परिवर्तनीय प्रतिस्थापन के तहत स्पष्टीकरण को निम्नानुसार बढ़ाया गया है:% पथ: str1 = str2% "और निम्नानुसार:" विलंबित वातावरण परिवर्तनीय विस्तार आपको ... " – Aacini