[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复  smatenchen
文件和文件夹分别处理,未测试,del/rd慎用:
qixiaobin0715 发表于 2021-5-22 20:04



   
完全无效啊!
屏幕一闪,连pause命令都没执行就退出了。
最后还把批处理文件本身给删了!
您这也太不靠谱了吧?

TOP

xp3000 发表于 2021-5-22 20:05



   
昨天的无效啊!
还出现了乱码!
这个题有这么难吗?
今天的我再试试。
非常感谢您!您这么的热心!
受教了!学习了!

TOP

回复 5# qixiaobin0715


   
完全无效啊!
屏幕一闪,连pause命令都没执行就退出了。
最后还把批处理文件本身给删了!
您再改改吧!

TOP

回复 6# xp3000


   
昨天的无效啊!
还出现了乱码!
这个题有这么难吗?
今天的我再试试。
非常感谢您!您这么的热心!
受教了!学习了!

TOP

本帖最后由 qixiaobin0715 于 2021-5-23 10:09 编辑

回复 16# smatenchen
在代码上面已经做过说明了,未经测试。已修改,未测试。

TOP

本帖最后由 qixiaobin0715 于 2021-5-23 10:08 编辑

findstr看不明白,用if吧,这样应当看得懂吧,未测试:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b') do (
  4.     set "str=%%a"
  5.     set "str1=!str:~,3!"
  6.     set "str2=!str:~-3!"
  7.     if "%%~xa"=="" (
  8.         if not !str1!==111 (
  9.             if not !str1!==222 rd "%%a"
  10.         )
  11.     )
  12.     if not "%%~xa"=="" (
  13.         if not !str2!==ini (
  14.             if not !str2!==exe (
  15.                 if not !str2!==bat (
  16.                     if not !str1!==333 (
  17.                         if not !str1!==444 del %%a
  18.                     )
  19.                 )
  20.             )
  21.         )
  22.     )
  23. )
  24. pause
复制代码

TOP

回复 20# qixiaobin0715


好的!我再试试吧!谢谢您!

TOP

回复 21# qixiaobin0715


非常感谢您的热心!
受教了!学习了!

TOP

只要乱码,必定是你没默认ANSI编码新建文本改名为BAT,而是把其他非ANSI文件改的

要是还不行我只有删除了,两个我都试了可行

TOP

只要乱码,必定是你没默认ANSI编码新建文本改名为BAT,而是把其他非ANSI文件改的
xp3000 发表于 2021-5-23 13:48



我把批处理内容保存为uft-8格式的文件了。
原来还有这种事啊!
记事本默认保存格式就是uft-8格式,所以没改它就直接保存了。
学习了!多谢了!

TOP

回复 24# xp3000


   
我注意到您在批处理中用dir 命令时,没引用文件的绝对路径,
使用了默认的当前目录环境,
这岂不是非得把批处理文件放在要处理对象所在的目录里不可吗?
我若是以管理员权限运行该批处理文件时,那要如何是好呢?

TOP

cd /d  必定切换目录

TOP

回复 21# qixiaobin0715


   
您好!
if "%%~xa"=="" (
这个语句是何意?
%%~xa
这是什么变量?
怎么还带上了~x,是何意?
您好像没先定义出%%~xa这个变量吧?
没看懂,请您解说一下吧!
多谢!

TOP

回复 27# xp3000


   
多谢!
没仔细看,漏看了您的这个语句。
受教了!您费心了!

TOP

回复 5# qixiaobin0715


   
您好!
('dir /b /ad ^|findstr /vb "111 222"')
这里用^| 是何意?
干嘛要转义?直接用管道 | 接上不行吗?
多谢!

TOP

返回列表