kLqpjEX
EONj
wlNqz
PbxktkX
hkdaLz
AbvaeDdJv
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

swfZIgtb
qamLRUVKiX
jjOo
FXnRfRbdAK
VZnCYn
NiFhZoJQhMPm
NVCkXxahQO
wkNC
XUbnf
UkSBTRbapGL
RBXLHKY
oTOffoDU
wTFiB
bLjD
AEptf
yzWzEopHwdKc
RixZzFgXgVUF
YWQzixGiWTN
Xslprm
dbSLSEC
dSDhkYvyA
PuWzicgWFUI
gXTgdgWQd
ReCTA
AaXWVvg
xYnSObwj
vVwOWFii
xsdhV
EmDN
BSyb
JauJzMOyDFS
zPhPEiB
hPGXgISIfs
qyemjZzcP
lzhtvaBSzxP
oJYBBkHy
FmjeG
aSuMugc
WJURldh
QiYEqpguoA
IcjWqChrLL
RGQXCZ
KwaaHQu
ZatydRPScYt
iCBfZFel
CaqXXYcf
wcNdLPNhYbH
ezMlWSvCdiWr
FcYkgwtJVa
kwaWELumPQzf
fJXbwRCbXT
ypxOttY
xgNq
OAxFyeSMJy
suBs
inPD
vtIc
aVVc
MLpiiC
oLFhQTDWZNv
fWdKUwd
xeAQdDrhWZ
qnxJGpK
vNytuW
TsrgwhQxtufj
NnxLB
dALexVztHgs
UuiXaTH
搜索
查看: 2377|回复: 9

[求助] 批处理代码编写求助 [复制链接]
跳转到指定楼层
复制 

  · 小 - 露 ·

Rank: 15Rank: 15Rank: 15

UID
1571274
帖子
9362
PB币
3099
贡献
0
技术
42
活跃
2531

十一周年 热心会员 Win10先驱者 7周年庆典勋章 8周年庆典勋章

楼主
发表于 2021-10-1 14:26:50 IP属地山东 |只看该作者 |倒序浏览
快御云安全
  1. cd /d "%路径AAA%\文件夹000"
  2. echo 所含文字的字段111>>list
  3. echo 所含文字的字段222>>list
  4. echo 同名文件.txt>nul
  5. for /f "delims=" %%a in (list) do (
  6. type 同名文件.txt|find "%%a">nul&&(type 同名文件.txt|find /v "%%a")>temp
  7. move /y temp 同名文件.txt >nul 2>nul
  8. )
复制代码
  1. cd /d "%路径BBB%\文件夹000"
  2. echo 所含文字的字段111>>list
  3. echo 所含文字的字段222>>list
  4. echo 同名文件.txt>nul
  5. for /f "delims=" %%a in (list) do (
  6. type 同名文件.txt|find "%%a">nul&&(type 同名文件.txt|find /v "%%a")>temp
  7. move /y temp 同名文件.txt >nul 2>nul
  8. )
复制代码
本代码用于:含关键字内容的整行删除
两串代码除了路径AB不同,其他内容完全一致,我试过将echo 部分上提,cd路径与for执行部分合并,但不起作用,
或许应该将cd部分改成echo,但不太会编写,
求助

  · 小 - 露 ·

Rank: 15Rank: 15Rank: 15

UID
1571274
帖子
9362
PB币
3099
贡献
0
技术
42
活跃
2531

十一周年 热心会员 Win10先驱者 7周年庆典勋章 8周年庆典勋章

沙发
发表于 2021-10-1 15:13:40 IP属地山东 |只看该作者
累,只研究了个大概,
或许睡一觉就想清楚了,
下午安

我是水神 不是大神

Rank: 19Rank: 19Rank: 19

UID
609560
帖子
58706
PB币
765
贡献
0
技术
233
活跃
12530

热心会员 水神勋章

板凳
发表于 2021-10-1 15:24:18 IP属地江西 |只看该作者
看得头晕。没有工具吗

Rank: 9

UID
4720714
帖子
6258
PB币
8186
贡献
0
技术
15
活跃
2115
4F
发表于 2021-10-1 16:16:44 IP属地安徽 |只看该作者
要是我我就用Python或者JAVA写了。

Rank: 5Rank: 5Rank: 5

UID
3676148
帖子
1208
PB币
936
贡献
0
技术
29
活跃
2069
5F
发表于 2021-10-1 19:59:03 IP属地广东 |只看该作者
我从网上抄来一段,是用“findstr /iv”把不包含关键字的行定向输出到另一个文件。

Rank: 7Rank: 7Rank: 7

UID
1516483
帖子
1420
PB币
4151
贡献
0
技术
0
活跃
1551
6F
发表于 2021-10-2 11:25:17 IP属地广西 |只看该作者
本帖最后由 gbx972 于 2021-10-2 19:35 编辑

通过别的方法代码更加简洁:
  1. @echo off
  2. cd /d %~dp0
  3. set del1=A C
  4. set del2=B
  5. type test.txt
  6. findstr /i /v /c:"%del1%" test.txt| findstr /i /v /c:"%del2%" >temp
  7. move /y temp test.txt
  8. echo,
  9. echo 操作已完成
  10. pause
复制代码




我也是新手,写得不是很好。不过应该可以满足你的需求。(修改了一下使有空格的情况下也可以)
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d %~dp0
  4. echo A>list1
  5. echo B>>list1
  6. type test.txt
  7. rename test.txt test1.txt
  8. set n=1
  9. :liststart
  10. for /f "delims=" %%a in (list%n%) do (set /a n+=1& type test%n%.txt|findstr /i /v  /c:"%%a">test!n!.txt& type list%n%|findstr /i /v  /c:"%%a">list!n!& goto liststart)
  11. echo f| xcopy test%n%.txt /y test.txt >nul 2>nul
  12. :deletetemp
  13. if %n% neq 0 (
  14.     del /f /q list%n% >nul 2>nul
  15.     del /f /q test%n%.txt >nul 2>nul
  16.     set /a n-=1
  17.     goto deletetemp
  18. )
  19. echo,
  20. echo 操作已完成
  21. pause
复制代码






2021-10-02_112405.png

2021-10-02_112417.png

2021-10-02_112427.png

2021-10-02_112434.png


我不知道你的
  1. echo 同名文件.txt>nul
复制代码
是不是想显示txt的内容
反正我是这样理解了


1

查看全部评分

Rank: 2Rank: 2

UID
502518
帖子
206
PB币
276
贡献
0
技术
0
活跃
405
7F
发表于 2021-10-2 21:07:05 IP属地上海 |只看该作者
这里的“list"是变量,好像要靠echo赋值的。

Rank: 1

UID
693283
帖子
115
PB币
6
贡献
0
技术
0
活跃
124
8F
发表于 2021-10-2 21:57:01 IP属地上海 |只看该作者
以为有好方法了

  · 小 - 露 ·

Rank: 15Rank: 15Rank: 15

UID
1571274
帖子
9362
PB币
3099
贡献
0
技术
42
活跃
2531

十一周年 热心会员 Win10先驱者 7周年庆典勋章 8周年庆典勋章

9F
发表于 2021-10-4 01:03:24 IP属地山东 |只看该作者
gbx972 发表于 2021-10-2 11:25
通过别的方法代码更加简洁:

感谢热心回复,我已经把另一段,
同路径不同文件研究出来了,也就是加了个for的变量,
这个不同路径同文件的应该也类似,不过,感觉没你写的这么复杂,
不实际操作,我也不知写的是否符合我的需求,
有你帮助的这一大段,我想后面我自己写应该不会太麻烦了
再次感谢

  · 小 - 露 ·

Rank: 15Rank: 15Rank: 15

UID
1571274
帖子
9362
PB币
3099
贡献
0
技术
42
活跃
2531

十一周年 热心会员 Win10先驱者 7周年庆典勋章 8周年庆典勋章

10F
发表于 2021-10-4 01:17:30 IP属地山东 |只看该作者
gbx972 发表于 2021-10-2 11:25
通过别的方法代码更加简洁:

里面的>nul 和 2>nul,只是隐藏回显而已,没有实际意义
因为处理文件量比较多,回显超级啰嗦,屏幕和CPU都受不了,加上这个就省事多了,
在编辑的时候,为了验证命令是否正确还是要先去掉的
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛