Board logo

标题: [文本处理] 如何获取拖拽/拖放到bat上执行的文件名字和路径 [打印本页]

作者: adadaad    时间: 2017-5-11 15:27     标题: 如何获取拖拽/拖放到bat上执行的文件名字和路径

本帖最后由 pcl_test 于 2018-4-20 17:01 编辑

@echo off&set set=%*

for %%i in (%set%) do echo %%i

我现在只能打印拖拽文件的全路径,但是我不知道怎么能打印出  %%i  的文件路径还有文件名,最好后缀也能打印出来
作者: adadaad    时间: 2017-5-11 16:03

@echo off&set set=%*

for %%i in (%set%) do (for /f "tokens=* delims=%cd%" %%a in ("%%i") do (for /f "tokens=1,2 delims=." %%b in ("%%a") do echo %cd% & echo %%b & echo %%c))

pause

我现在到是写出来的,不过这也太复杂了吧,,有没有更简洁一点的?
作者: cfwyy77_bat    时间: 2017-5-11 16:55

本帖最后由 cfwyy77_bat 于 2017-5-11 16:57 编辑

我只会拖一个文件~
  1. @echo off
  2. echo %~1
  3. pause
复制代码

作者: adadaad    时间: 2017-5-11 17:07

拖一个是比较简单的,不过我现在需要一次拖好多个
作者: adadaad    时间: 2017-5-11 17:37

@echo off&set set=%*

for %%i in (%set%) do (for /f "tokens=* delims=%cd:~0,-1%" %%a in ("%%i") do (for /f "tokens=2 delims=\" %%b in ("%%a") do (for /f "tokens=1,2 delims=." %%c in ("%%b") do echo %cd% & echo %%c & echo %%d)))

pause

更加复杂了,我要吐了
作者: cfwyy77_bat    时间: 2017-5-12 08:46

回复 5# adadaad


    好复杂,表示看不懂,多个 的话 我想想只也会这个了,超过9个就不行了
  1. @echo off
  2. for %%i in (%~1 %~2 %~3 %~4 %~5 %~6 %~7 %~8 %~9) do (
  3. if not %%i=="" echo %%i
  4. )
  5. pause
复制代码

作者: 老刘1号    时间: 2017-5-17 20:03

本帖最后由 老刘1号 于 2017-5-17 20:04 编辑
  1. @(for %%a in (%*) do @Echo FileName:%%~na    FilePath:%%~dpa)
  2. @pause
复制代码

作者: adadaad    时间: 2017-5-18 14:33

谢谢老刘,要的就是这个




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2