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

[文本处理] BAT或JS如何根据文本中的内容,核对文件名?

[复制链接]
发表于 2021-6-18 00:07:07 | 显示全部楼层 |阅读模式
先谢谢您啦。

现有文本1.TXT,内容如下:
  1. https://www.***.com/75013950
  2. https://www.***.com/55325876
  3. https://www.***.com/61879076
  4. https://www.***.com/50140585
  5. https://www.***.com/12904418
  6. https://www.***.com/36633503
复制代码
每一行最后的数字,应该在桌面yuantu文件夹中,对应有图片文件才对。比如第一行末尾的数字是75013950,应该在yuantu文件夹中存在一个 75013950.jpg 的图片文件。

请问,如何用BAT 或者 JS 的方式,根据1.txt里的数字,检查yuantu文件夹中,缺少哪个数字的图片文件,并输出结果到2.txt
谢谢您啦
发表于 2021-6-18 06:38:32 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-6-18 10:50 编辑

把test.bat和1.txt放在桌面或与文件夹yuantu平行的目录中运行,未经测试:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in ("yuantu\*.jpg") do set -%%~na=ture
  4. (for /f "delims=" %%i in (1.txt) do if not defined -%%~ni echo,不存在文件:%%~ni.jpg)>2.txt
  5. pause
复制代码
发表于 2021-6-18 13:40:05 | 显示全部楼层
这样应当也行。test.bat和1.txt文件放在图片目录下:
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do if not exist %%~na.jpg echo,不存在文件:%%~na.jpg)>2.txt
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
灯塔彭于晏 + 1 好用可以的

查看全部评分

发表于 2021-6-18 13:42:23 | 显示全部楼层
powershell
  1. $file = "a.txt"
  2. $path = "yuantu"

  3. get-content $file | foreach {
  4.     if ($_ -match "\d+$")
  5.     {
  6.         if (-not(test-path $path\$matches[0]))
  7.             {
  8.                 $str = $str + $matches[0] + "`n"
  9.             }
  10.     }
  11. }
  12. $str
复制代码

评分

参与人数 1技术 +1 收起 理由
灯塔彭于晏 + 1 谢谢啊

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 17:18 , Processed in 0.015695 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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