噢 再次cd 不能进好像是跟批处理有关
test.bat- @echo off
- setlocal enabledelayedexpansion
- ::初步验证
- if "%~1"=="" (
- echo 您没有拖入文件到我身上,于是第一个参数为空,按任意键拜拜~
- pause>nul
- exit
- ) else (
- if exist "%~1" (
- echo 文件所在目录 "%~dp1"
- cd "%~dp1"
- echo 进入拖放文件所在文件夹 %cd%
- set /a n=1
- set "xformat=%~x1"
- )
- )
- pause
复制代码
可以看到我先显示 文件所在目录 ,然后执行cd /d 该目录,再次echo 进入到%cd%
显示却出乎意料
文件所在目录 "C:\Documents and Settings\Amateur\桌面\"
进入拖放文件所在文件夹 C:\Documents and Settings\Amateur
同样是在桌面
这个虽然拖放后变成了用户目录,但是cd 桌面就进入了
@echo off
:a
if not "%~1"=="" (echo 拖放的文件 "%~1" &shift /1 &goto :a)
echo 现在所在目录 %cd%
echo cd /d "%userprofile%\桌面"
cd /d "%userprofile%\桌面"
echo 现在所在目录 %cd%
pause
exit
[ 本帖最后由 523066680 于 2010-4-12 19:59 编辑 ] |