Board logo

标题: [文件操作] 【已解决】批处理如何将手动输入的路径变成文件输出存放的文件夹? [打印本页]

作者: aztec    时间: 2018-6-6 22:51     标题: 【已解决】批处理如何将手动输入的路径变成文件输出存放的文件夹?

本帖最后由 aztec 于 2018-6-7 11:07 编辑
  1. set /p path=请输入路径:
  2. set /p name=请输入文件名称:
  3. echo 你的文件名称是:%path%%name%.txt
  4. cd %path%
  5. if exist %name%.txt goto A
  6. if not exist %name%.txt goto B
复制代码
以上是可能要用到的语句,可惜做出来无法运行,得不到想要的效果,下面的是实例,要达到如下的效果:

输入文件输出的路径:d:\abc\
输入文件名称:read
你的文件名称是:d:\abc\read.txt
cd d:\abc\
if exist read.txt goto A
if not exist read.txt goto B
作者: aztec    时间: 2018-6-6 23:01

我的意思是:通过手动输入文件夹和文件名,1.判断该文件夹是否已存在,如果不存在就建立该文件夹;2.判断该文件夹中的目标文件是否已经存在,如果已经存在,就通过if exist 做下一步的操作,如果不存在就通过if not exist 做下一步的操作
作者: yhcfsr    时间: 2018-6-6 23:25

本帖最后由 yhcfsr 于 2018-6-7 00:25 编辑
  1. @echo off
  2. set /p "_path=请输入路径:"
  3. set /p "name=请输入文件名称:"
  4. echo 你的文件名称是:%_path%%name%.txt
  5. if not exist "%_path%" md "%_path%"
  6. if exist "%_path%%name%.txt" (goto :A) else (goto :B)
  7. pause&exit
  8. :A
  9. ECHO;文件存在
  10. pause&goto:eof
  11. :B
  12. ECHO;文件不存在
  13. pause&goto:eof
复制代码

作者: aztec    时间: 2018-6-6 23:33

回复 3# yhcfsr

谢谢老师指导,您的程序非常的好,但可能我没有说清楚,表达有误,导致没能实现我想要的效果,但还是谢谢您!
作者: aztec    时间: 2018-6-6 23:49

yhcfsr 发表于 2018-6-6 23:25


奇怪的是,不管输入什么路径,都不能创建文件夹,不管输入什么文件名,结果都是该文件已存在
作者: Batcher    时间: 2018-6-6 23:50

回复 4# aztec


    具体哪一点没有达到你想要的效果?
作者: aztec    时间: 2018-6-7 00:01

回复  aztec


    具体哪一点没有达到你想要的效果?
Batcher 发表于 2018-6-6 23:50



    不管输入什么文件名,即使根本不存在的文件,结果都是指向该文件已存在
作者: aztec    时间: 2018-6-7 00:04

回复  aztec


    具体哪一点没有达到你想要的效果?
Batcher 发表于 2018-6-6 23:50



    if exist "%_path%%name%.txt" goto A else goto B

这个语句,即便不存在指定的文件,都会goto A,指向已存在

很怪异!
作者: yhcfsr    时间: 2018-6-7 00:23

回复 8# aztec


    我稍微改了下。见3楼。
作者: aztec    时间: 2018-6-7 00:44

回复  aztec


    我稍微改了下。见3楼。
yhcfsr 发表于 2018-6-7 00:23



    very good! 已经可以了!
非常感谢您!!您辛苦了!




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