[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

@echo off&set set=%*

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

我现在只能打印拖拽文件的全路径,但是我不知道怎么能打印出  %%i  的文件路径还有文件名,最好后缀也能打印出来

@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

我现在到是写出来的,不过这也太复杂了吧,,有没有更简洁一点的?

TOP

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

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

TOP

拖一个是比较简单的,不过我现在需要一次拖好多个

TOP

@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

更加复杂了,我要吐了

TOP

回复 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
复制代码

TOP

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

TOP

谢谢老刘,要的就是这个

TOP

返回列表