永发信息网

求助:批处理编辑TXT查找替换

答案:4  悬赏:80  手机版
解决时间 2021-02-01 23:56
  • 提问者网友:杀生予夺
  • 2021-02-01 00:49
批处理编辑TXT主要是查找替换,本以为很简单,但看了好多代码,但还是没找到怎么实现查找替换.
a.txt文本格式为
<发布路径>=image/AA/2011/20111123/201120154997.8/000001.jpg
<发布路径>=image/CC/2011/20111123/201120165066.8/000001.jpg
<发布路径>=image/AA/2011/20111123/201120178134.4/000001.jpg
<发布路径>=image/BB/2011/20111207/201120153638.0/000001.jpg
<发布路径>=image/AA/2011/20111207/201120186190.2/000001.jpg
<发布路径>=image/CC/2011/20111207/201120186238.X/000001.jpg
<发布路径>=image/CC/2011/20111207/201020584381.X/000001.jpg
想通过批处理实现成下面这样的批处理拷贝命令(想有选择的用 xcopy 或是 move)
xcopy d:\www\image\AA\2011\20111123\201120154997.8 f:\AA\2011\20111123\201120154997.8 /s/y/i/c/e
……

昨天通过百度看了些代码就是没明白怎么实现,我的思路是:
1、“<发布路径>=image/”是不需要的部分,通过命令替换为拷贝命令,盘符或其他路径,
2、将“/”替换成“\”
3、将后面“000001.jpg”的部门替换成“空格”(拷贝整个目录就好了)
4、将路径部分再输出一编(是不是定义成个变量),后面加上参数就好了(根据XCopy,还是 move 定义两个 参数组)
5、昨天看代码学会了找出“AA”"BB""CC"的不同分类并列出了,这样就可以分类进行拷贝了。(因为只有大概三四个分类,所以想分出类来分比拷贝)
@echo off
type a.txt | findstr "<发布路径>=imag/AA/">AA.txt

看代码看的迷茫了,我不是学计算机的,没基础呀!估计自己研究得研究一周,又想早点用上。看了代码进步也会快些,所以申请了个百度帐号,来求助高手。
最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-02-01 02:06
||可以根据分类来决定xcopy 或move,有问题的话可以百度hi我。
@echo off
set o=1.bat
del %o% 2>nul
for /f "tokens=2-6 delims==/" %%i in (a.txt) do echo %%j|findstr /i "AA CC"&&call :x %%i %%j\%%k\%%l\%%m||call :m %%i %%j\%%k\%%l\%%m
goto :eof
:x
echo xcopy d:\www\%1\%2 f:\%2/s/y>>%o%
goto :eof
:m
echo if not exist f:\%2 md f:\%2>>%o%
echo move d:\www\%1\%2\* f:\%2>>%o%
全部回答
  • 1楼网友:雾月
  • 2021-02-01 06:02
@echo off (for /f "tokens=1-7 delims=^<^>^=^/ " %%a in (a.txt) do ( echo xcopy d:\www\%%b\%%c\%%d\%%e\%%f f:\%%c\%%d\%%e\%%f /s/y/i/c/e ))>>ABCD.bat
  • 2楼网友:轻雾山林
  • 2021-02-01 04:26
提示:提取image后面的部分,然后%~pi,"/"不用替换成"\",也不用分类,再后面的就更简单了。至于怎么提取,用for就能搞定。
  • 3楼网友:时间的尘埃
  • 2021-02-01 03:02
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯