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

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

[复制链接]
 楼主| 发表于 2014-3-19 13:49:40 | 显示全部楼层
回复 15# Batcher


     不是代码问题啊,%ys%就是一个时间定义的变量.就是我截取到一个带有()路径的目录名字在ftp上面创建不了·我截取路径站点目录名字的时候要怎么取消(),或者在ftp目录上面创建带有()目录的文件夹。因为前面一个是变量,但是%%f变量好像又不识别()的中文字.参考14那段代码.截取那段是正确的%ys%就是你帮我修改的那段代码,
@echo off
REM 获取一个小时前的时间
>"%temp%\MyDate.vbs" echo strLastHours=DateAdd("h", -1, now)
>>"%temp%\MyDate.vbs" echo strFmtDate=Right(Year(strLastHours),4) ^& Right("0" ^& Month(strLastHours),2) ^& Right("0" ^& Day(strLastHours),2) ^& Right("0" ^& Hour(strLastHours),2)
>>"%temp%\MyDate.vbs" echo WScript.Echo strFmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (set ys=%%a)
echo %ys%
发表于 2014-3-19 14:07:59 | 显示全部楼层
回复 14# chejh
  1. rem 路径截取
  2. pushd "%log_dir%"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /s %ys%.log') do (
  5.     set str=%%~pi
  6.     set str=!str:^(=!
  7.     set str=!str:^)=!
  8.     echo !str!
  9. )>%tmp%\douyou_filepath.txt
  10. popd
复制代码
发表于 2014-3-19 14:08:47 | 显示全部楼层
回复 16# chejh


    我每天回复很多个帖子,你不说清楚的话,我还真想不起来。
 楼主| 发表于 2014-3-19 14:30:27 | 显示全部楼层
回复 18# Batcher


    这段代码是把截取的路径带有()的自动取消嘛?其实我那段路段截取是正确的啊·
发表于 2014-3-19 14:46:45 | 显示全部楼层
加上引号试试呢?
  1. (for /f "tokens=1,2,3,4 delims=" %%e in (%tmp%\douyou_filepath.txt) do (
  2.     echo mkdir "%%f"
  3.     echo mkdir "%%f\%ip%"
  4.     echo mkdir "%%f\%ip%\%%h"
  5.     "%rar_dir%" a -ep1 -inul "%tmp%\douyou_%ys%.rar" "%log_dir%\%%f\%%g\%%h\%ys%.log"
  6.     echo put "%tmp%\douyou_%ys%.rar" "%%f\%ip%\%%h\%ys%.rar"
  7. ))>"%tmp%\douyou_ftp.txt"
复制代码
 楼主| 发表于 2014-3-19 14:52:15 | 显示全部楼层
回复 20# apang


    加引号是把它当字符串输出嘛?
发表于 2014-3-19 14:57:10 | 显示全部楼层
回复 21# chejh


    引号可以转义特殊字符,括弧应该可以转义吧?再不行的话,用call应该可以吧?
发表于 2014-3-19 15:22:54 | 显示全部楼层
回复 19# chejh


    是的
 楼主| 发表于 2014-3-20 21:19:40 | 显示全部楼层
回复 23# Batcher


    我这段代码所有的变量都要加引号?
  提示这个错误
'""C:\Program' 不是内部或外部命令,也不是可运行的程序
 楼主| 发表于 2014-3-20 21:56:23 | 显示全部楼层
log_dir是set
%ys%上面已经发了
发表于 2014-3-20 21:58:44 | 显示全部楼层
回复 24# chejh


    是根据17楼的方法修改的吗?把你修改过的完整代码发出来。
 楼主| 发表于 2014-3-20 21:59:52 | 显示全部楼层
回复 26# Batcher


    路段截取是没有问题啊,那个不需要修改,只是我创建目录的时候不识别abc(bca),这个变量
 楼主| 发表于 2014-3-20 22:03:43 | 显示全部楼层
好把,这个带有括号是我自己在文件夹创建的,它识别了·但是那条自己创建的命令没有生效·不过它识别这个目录
发表于 2014-3-20 22:11:04 | 显示全部楼层
回复 27# chejh


    你测试了吗?17楼的那几个set命令就是用来删除括号的。
 楼主| 发表于 2014-3-24 10:57:29 | 显示全部楼层
回复 29# Batcher


      这个路段截取是有问题的,我试了一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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