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

[文本处理] BAT批处理如何提取包含括号的文件夹路径?

[复制链接]
发表于 2014-3-19 09:29:33 | 显示全部楼层 |阅读模式
本帖最后由 chejh 于 2014-3-28 15:43 编辑
  1. for /f "delims=" %%c in ('forfiles /p %log_dir% /s /m %ys%.log /c "cmd /c for /f %%i in (@path) do @echo %%~pi"') do (echo %%c)>>%tmp%\douyou_filepath.txt
复制代码
这段是文件路径截,截取效果如下:
\webroot\新浪狼\logger\20140319\
\webroot\百度度\logger\20140319\
\webroot\结算嵌入\logger\20140319\
如:
\webroot\新浪浪(嵌入站点)\logger\20140319\
   有个文件夹的名字后面中间有括号就截取不了,我要怎么把这个括号取消或者提取出来,现在是提取不到上面这个文件夹,也就是没有上面一段
发表于 2014-3-19 09:42:41 | 显示全部楼层
  1. for /f "delims=" %%i in ('dir /b /s %ys%.log') do (echo %%~pi)>%tmp%\douyou_filepath.txt
复制代码
发表于 2014-3-19 09:45:32 | 显示全部楼层
我在2003系统,测试可以提取包含有()的路径
 楼主| 发表于 2014-3-19 09:47:11 | 显示全部楼层
回复 3# lky216


    关键是确实提取不了啊
 楼主| 发表于 2014-3-19 09:48:09 | 显示全部楼层
回复 2# Batcher


    这个没有路径啊,你的截图的路径没了
发表于 2014-3-19 09:54:09 | 显示全部楼层
回复 5# chejh


    把2楼代码生成的douyou_filepath.txt的内容发出来看看
发表于 2014-3-19 09:54:30 | 显示全部楼层
回复 4# chejh


    你用的什么操作系统?
 楼主| 发表于 2014-3-19 09:55:48 | 显示全部楼层
你给我的这段代码什么东西都没有啊
 楼主| 发表于 2014-3-19 09:56:05 | 显示全部楼层
回复 7# Batcher


    2003和2008啊
 楼主| 发表于 2014-3-19 09:57:38 | 显示全部楼层
回复 6# Batcher


    没有生成这个文件
 楼主| 发表于 2014-3-19 10:03:37 | 显示全部楼层
错了问错问题了,我一会儿重新黏贴一下我的问题·
发表于 2014-3-19 10:04:02 | 显示全部楼层
%ys%这个变量是在哪里定义的?把完整代码发出来看看
 楼主| 发表于 2014-3-19 10:04:42 | 显示全部楼层
回复 12# Batcher


    这就是我叫你优化的那个时间代码·
 楼主| 发表于 2014-3-19 10:12:53 | 显示全部楼层
本帖最后由 chejh 于 2014-3-28 15:43 编辑

rem 路径截取
for /f "delims=" %%c in ('forfiles /p %log_dir% /s /m %ys%.log /c "cmd /c for /f %%i in (@path) do @echo %%~pi"') do (echo %%c)>>%tmp%\douyou_filepath.txt

结果
\webroot\新浪浪\logger\20140319\
\webroot\百度度\logger\20140319\
\webroot\结算嵌入\logger\20140319\
\webroot\新浪浪(嵌入站点)\logger\20140319\
上面代码提取的路径,之后我要怎么在ftp里面创建此文件件 兜有院线通(嵌入站点) 的文件夹,不要括号也可以·
rem ftp上创建目录,上传打包日志
for /f "tokens=1,2,3,4 delims=\" %%e in (%tmp%\douyou_filepath.txt) do (
echo mkdir %%f
echo mkdir %%f\%ip%
echo mkdir %%f\%ip%\%%h
%rar_dir% a -ep1 -inul %tmp%\douyou_%ys%.rar %log_dir%\%%f\%%g\%%h\%ys%.log
echo put %tmp%\douyou_%ys%.rar %%f\%ip%\%%h\%ys%.rar
)>>%tmp%\douyou_ftp.txt
  其中%%f就第二个字段的截图,兜有院线通(嵌入站点),上面的变量貌似不支持创建()类似的目录,
思想1要么截取的时候取消(),思路2要么使用参数在ftp上面创建带()的目录(目前不知道)
发表于 2014-3-19 12:36:04 | 显示全部楼层
%log_dir%
%ys%
这些变量是在哪里定义的?
完整代码不方面发出来吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 02:06 , Processed in 0.033295 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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