找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29139|回复: 7

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

[复制链接]
发表于 2017-5-11 15:27:00 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2018-4-20 17:01 编辑

@echo off&set set=%*

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

我现在只能打印拖拽文件的全路径,但是我不知道怎么能打印出  %%i  的文件路径还有文件名,最好后缀也能打印出来
 楼主| 发表于 2017-5-11 16:03:15 | 显示全部楼层
@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

我现在到是写出来的,不过这也太复杂了吧,,有没有更简洁一点的?
发表于 2017-5-11 16:55:46 | 显示全部楼层
本帖最后由 cfwyy77_bat 于 2017-5-11 16:57 编辑

我只会拖一个文件~
  1. @echo off
  2. echo %~1
  3. pause
复制代码
 楼主| 发表于 2017-5-11 17:07:22 | 显示全部楼层
拖一个是比较简单的,不过我现在需要一次拖好多个
 楼主| 发表于 2017-5-11 17:37:38 | 显示全部楼层
@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

更加复杂了,我要吐了
发表于 2017-5-12 08:46:22 | 显示全部楼层
回复 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
复制代码
发表于 2017-5-17 20:03:34 | 显示全部楼层
本帖最后由 老刘1号 于 2017-5-17 20:04 编辑
  1. @(for %%a in (%*) do @Echo FileName:%%~na    FilePath:%%~dpa)
  2. @pause
复制代码
 楼主| 发表于 2017-5-18 14:33:50 | 显示全部楼层
谢谢老刘,要的就是这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 21:25 , Processed in 0.019855 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表