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

[文本处理] 批处理for & dir命令,路径带有空格,怎么解决?

[复制链接]
 楼主| 发表于 2022-3-30 14:18:33 | 显示全部楼层
回复 12# Batcher


    好的,谢谢。已解决了。
 楼主| 发表于 2022-3-30 14:23:38 | 显示全部楼层
本帖最后由 bcetl 于 2022-3-30 14:24 编辑

回复 11# buyiyang

回复 14# Batcher


    已找到原因,不在for、dir命令中,for命令自带""双引号,路径中不加双引""也可以。

保存路径需要加双重”号。
问题在这里:echo %%~na>> "%folder%"\%date:~5,2%-%date:~8,2%.txt


正确的是:echo %%~na>> ""%folder%"\%date:~5,2%-%date:~8,2%.txt"
 楼主| 发表于 2022-3-30 14:26:49 | 显示全部楼层
回复 13# buyiyang


    你提供的方向是对的,谢谢
发表于 2022-3-30 14:40:58 | 显示全部楼层
回复 18# bcetl


    你这个确实是我没想到的,你能把代码发出来吗?
发表于 2022-3-30 14:54:58 | 显示全部楼层
回复 17# bcetl


    以后别这样写了,容易出错。简简单单加一对引号就够了。
 楼主| 发表于 2022-3-30 15:11:36 | 显示全部楼层
回复 20# Batcher


    加一对没用,还是要加两对才有用。:lol
 楼主| 发表于 2022-3-30 15:23:37 | 显示全部楼层
回复 19# buyiyang

set /p folder=
for /f "delims=" %%a in ('dir /b/a-d/oN %folder%\*.mp4 %folder%\*.mp3') do (
echo %%~na>> ""%folder%"\%date:~5,2%-%date:~8,2%.txt"
if "%%~xa"==".mp3" (for /f "tokens=1-2 delims=-" %%i in ("%%~na") do (echo %%j>> ""%folder%"\去歌手纯歌名%date:~5,2%-%date:~8,2%.txt"))
)
发表于 2022-3-30 18:51:37 | 显示全部楼层
回复 21# bcetl


    14楼的那种代码写法在你电脑上测试的时候有什么报错信息吗能否发出来看看?
 楼主| 发表于 2022-3-30 22:30:38 | 显示全部楼层
回复 23# Batcher


   


    大神的脚本没有报错,主要是这一段保存路径问题:>> "%folder%\%date:~5,2%-%date:~8,2%.txt"


比如C:\11\2 2\A A\b b.txt,执行结果是C:\11\2 2\下生成一个名字叫“A”的无后缀名文件,即C:\11\2 2\A,用记事本打开,是bat的执行日志

现在我直接用你教过的脚本定位方法解决。
set date=%date:~5,2%-%date:~8,2%
set /p folder=
cd /d "%folder%"
后面是>>"%date%.txt"

或者,保存路径使用双重引号,也可以解决,是这个:>>" "%folder%"\%date%.txt" 也可以。
发表于 2022-3-31 00:09:55 | 显示全部楼层
回复 24# bcetl


    你是把一个文件夹拖放的bat脚本上面执行的?
 楼主| 发表于 2022-3-31 00:30:56 | 显示全部楼层
回复 25# Batcher


    是的。如果只是单个,就没必要搞脚本了。大量文件,搞脚本才轻松。
发表于 2022-3-31 10:49:03 | 显示全部楼层
回复 26# bcetl


提个小建议,尽量少拖放。
文件夹名称里面可能存在的特殊字符有可能让代码出错。
有条件的情况下尽可能通过别的方式执行BAT脚本。
 楼主| 发表于 2022-3-31 12:08:28 | 显示全部楼层
回复 27# Batcher


    好的,谢谢。。。遇到特殊符号的路径,我会先修正一下。因为要处理的文件比较多,分布文件夹也多。老是把脚本复制来复制去,也挺麻烦的。
发表于 2022-3-31 12:24:43 | 显示全部楼层
回复 28# bcetl


    如果有规律,可以试试在BAT脚本里面自动找到那些文件夹。
发表于 2022-3-31 12:32:40 | 显示全部楼层
回复 28# bcetl
也可用cd命令定位路径。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 05:56 , Processed in 0.020047 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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