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

[文件操作] 批处理怎么判断路径是文件还是文件夹?

怎么判断路径是文件还是文件夹?
如果是文件的话就在当前目录下创建无扩展名的同名文件夹,并把文件移动到文件夹内.
比如D:\eg.exe文件,则在当前目录下(d:\)创建eg文件夹,并把eg.exe移动到eg文件夹内

  1. @echo off
  2. set str=D:\eg.exe
  3. for %%i in ("%str%") do (
  4.     if not exist "%%~i\" (
  5.         if exist %%i (
  6.             md "%%~dpi"
  7.             move /y %%i "%%~dpi"
  8.         )
  9.     )
  10. )
复制代码

TOP

回复 2# Python


    额....没有效果额...

TOP

把2楼代码3-10行替换为:
  1. (for %%a in (%str%) do (
  2.   md "%%~dpna"
  3.   move "%%a" "%%~dpna\"
  4. ))2>nul
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 4# xxpinqz


    嗯,这个倒是可以,只是没有对文件和文件夹作判断...我这里是有个程序是输入路径,但只支持文件夹,然后对文件夹内的文件处理..所以才想用批处理,把文件,移动到同名文件夹内,然后程序再对文件夹操作

TOP

回复 5# 封印
把当前目录的同名文件移动到同名的文件夹下面,只要把%str%改为*,就这4句就够了,还判断它是否文件或文件夹干嘛,直接移动就是了。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 3# 封印


    额....我很想继续帮助你...但是看不到你的执行过程我也没办法...

TOP

回复 7# Python


    多谢啦..

TOP

返回列表