
批處理怎樣根據已知的文件短路徑獲取完整的長路徑最后由 pcl_test 于 -8-11 23:50求這樣的批處理:傳遞給他一個短文件名,返回對應的長文件名。即:
call 長文件名.bat C:PROGRA~1COMMON~1MICROS~1DAOdao360.dll返回正確的長文件名:C:Program FilesCommon FilesMicrosoft SharedDAOdao360.dll環境:windows XP要求:盡量不使用第三方軟件,只使用xp自帶的程序。我的實現方法:
@echo offif %1== goto callmyselfset longpath=%~d1set s=%~dpfxs1set s=%s:= %call :getfullname %s%echo %longpath%goto :eof:callmyselfcall %0 C:PROGRA~1COMMON~1MICROS~1DAOdao360.dllgoto :eof:getfullnameif %2== goto :eofif not %3== (for /f tokens=* %%i in ('dir /ad /b %longpath%%2*') do set longpath=%longpath%%%ishiftgoto getfullname) else (for /f tokens=* %%i in ('dir /b %longpath%%2*') do set longpath=%longpath%%%igoto :eof)[ 最后由 dishuo 于 2008-8-18 19:50]

