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

[文件操作] [已解决]批处理放在不同地方,处理结果不一样?

[复制链接]
发表于 2021-2-3 09:33:04 | 显示全部楼层 |阅读模式
@echo offfor %%i in (*.ygx) do (echo %~f1>>★★★用Excel打开★★★.txt)@echo=    >>★★★用Excel打开★★★.txt@echo,    >>★★★用Excel打开★★★.txt@echo         ←这里输入盘数>>★★★用Excel打开★★★.txt@echo;    >>★★★用Excel打开★★★.txt@echo=    >>★★★用Excel打开★★★.txt@echo         ←这里输入单条灯珠数量,务必带上字母,比如"D100">>★★★用Excel打开★★★.txt@echo=    >>★★★用Excel打开★★★.txt@echo,    >>★★★用Excel打开★★★.txt@echo;    >>★★★用Excel打开★★★.txt@echo 确认输完后,按" Ctrl + Shift + A "一键搞定吧!>>★★★用Excel打开★★★.txtexit

大家好,为什么在不同路径下拖入ygx文件,输出的内容不一样呢?
发表于 2021-2-3 10:11:04 | 显示全部楼层
回复 1# ganlian_6666


    你是从什么地方复制过来的?都变成一行了,请重新发一下吧。
 楼主| 发表于 2021-2-3 11:36:15 | 显示全部楼层
  1. @echo off

  2. for %%i in (*.ygx) do (

  3. echo %~f1>>★★★用Excel打开★★★.txt)

  4. @echo=    >>★★★用Excel打开★★★.txt
  5. @echo,    >>★★★用Excel打开★★★.txt

  6. @echo         ←这里输入盘数>>★★★用Excel打开★★★.txt

  7. @echo;    >>★★★用Excel打开★★★.txt
  8. @echo=    >>★★★用Excel打开★★★.txt

  9. @echo         ←这里输入单条灯珠数量,务必带上字母,比如"D100">>★★★用Excel打开★★★.txt


  10. @echo=    >>★★★用Excel打开★★★.txt
  11. @echo,    >>★★★用Excel打开★★★.txt
  12. @echo;    >>★★★用Excel打开★★★.txt


  13. @echo 确认输完后,按" Ctrl + Shift + A "一键搞定吧!>>★★★用Excel打开★★★.txt


  14. exit
复制代码
回复 2# Batcher
 楼主| 发表于 2021-2-3 11:46:21 | 显示全部楼层
回复 2# Batcher

不知道为什么路径会输出5次,
发表于 2021-2-3 11:47:42 | 显示全部楼层
回复 3# ganlian_6666


第5行
echo %~f1
它的功能本来就是获取到文件实际路径的

能否举例说明你希望得到的结果是什么?
你试验得到的实际结果是什么?
 楼主| 发表于 2021-2-3 11:49:20 | 显示全部楼层
回复 2# Batcher

我在公司两台电脑试,一台正常,一台路径会输出5次,用自己的电脑也是会重复输出,是哪里问题呢?
 楼主| 发表于 2021-2-3 11:50:46 | 显示全部楼层
回复 5# Batcher

图片上传不了,我是想得到完整路径,但是它会输出5次,正常不是应该输出一次到文本么?
发表于 2021-2-3 11:51:35 | 显示全部楼层
回复 6# ganlian_6666


把第3行删掉
把第5行结尾的括号删掉
再试试呢?
 楼主| 发表于 2021-2-3 11:59:04 | 显示全部楼层
回复 5# Batcher

比如2222.ygx这个文件在C盘根目录下,我将它拖入进去
得到的文本内容是:
C:\2222.ygx
C:\2222.ygx
C:\2222.ygx
C:\2222.ygx
C:\2222.ygx


    ←这里输入盘数

   
    ←这里输入单条灯珠数量,务必带上字母,比如"D100"


     确认输完后,按" Ctrl + Shift + A "一键搞定吧!

“C:\2222.ygx”不应该只出现一次么?
发表于 2021-2-3 12:15:52 | 显示全部楼层
回复 9# ganlian_6666


    请按照8楼的方法修改代码试试
发表于 2021-2-3 12:38:21 | 显示全部楼层
回复 3# ganlian_6666


按照你的意思解决了,我将第5行的>>改成了>也解决了,能否简单说说for在这里的作用呢?

for命令在你这个【拖放操作】的需求里面没有用处
发表于 2021-2-3 12:44:06 | 显示全部楼层
回复 3# ganlian_6666


for命令的适用场景是这样,比如当前目录下有多个ygx文件和一个BAT脚本,双击执行BAT脚本(而不是拖放ygx文件)

test.bat
  1. @echo off
  2. (for %%i in (*.ygx) do (
  3.     echo %~fi
  4. ))>"★★★用Excel打开★★★.txt"
复制代码
 楼主| 发表于 2021-2-8 00:15:02 | 显示全部楼层
回复 12# Batcher

嗯嗯,谢谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 12:42 , Processed in 0.020654 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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