
CODE: [Copy to clipboard]如果路径中空格,但未用""闭合的话,得出来的结果会出错,所以不管有无空格,路径最好都用""闭合。@echo off
for %%a in (%*) do set "dir=%%~a"
echo %dir%&pause
CODE: [Copy to clipboard]@echo off
:loop
if "%~1" neq "" (
shift
goto loop
) else (
set "dir=%~0"
)
echo %dir%
pause
| Quote: | |
|
| Quote: | |
|
CODE: [Copy to clipboard]@echo off
::其它代码
call :获取最后一个参数 %*
::放其它代码
goto :eof
:获取最后一个参数
if "%~2"=="" goto :eof
set "dir_=%2"
shift
goto :获取最后一个参数
| Quote: | |
|
CODE: [Copy to clipboard]我用上述代码算是解决问题了,也许很粗糙,不过还行@echo off
set dir=
::有两个以上参数才执行
if not {%1} == {} goto FIXEDFLAGS
goto FIXEDFLAGS_END
:FIXEDFLAGS
::判断操作系统
if NOT {%OS%} == {} goto winnt
:win98
for %%a in (%2 %3 %4 %5 %6 %7 %8 %9) do set dir=%%a
goto endos
:winnt
for %%a in (%2 %3 %4 %5 %6 %7 %8 %9) do set dir=%%~sa
:endos
echo dir = %dir%
:FIXEDFLAGS_END
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |