标题: [文本处理] BAT或JS如何根据文本中的内容,核对文件名? [打印本页]
作者: 灯塔彭于晏 时间: 2021-6-18 00:07 标题: BAT或JS如何根据文本中的内容,核对文件名?
先谢谢您啦。
现有文本1.TXT,内容如下:- https://www.***.com/75013950
- https://www.***.com/55325876
- https://www.***.com/61879076
- https://www.***.com/50140585
- https://www.***.com/12904418
- https://www.***.com/36633503
复制代码
每一行最后的数字,应该在桌面的yuantu文件夹中,对应有图片文件才对。比如第一行末尾的数字是75013950,应该在yuantu文件夹中存在一个 75013950.jpg 的图片文件。
请问,如何用BAT 或者 JS 的方式,根据1.txt里的数字,检查yuantu文件夹中,缺少哪个数字的图片文件,并输出结果到2.txt
谢谢您啦
作者: qixiaobin0715 时间: 2021-6-18 06:38
本帖最后由 qixiaobin0715 于 2021-6-18 10:50 编辑
把test.bat和1.txt放在桌面或与文件夹yuantu平行的目录中运行,未经测试:- @echo off
- setlocal enabledelayedexpansion
- for %%a in ("yuantu\*.jpg") do set -%%~na=ture
- (for /f "delims=" %%i in (1.txt) do if not defined -%%~ni echo,不存在文件:%%~ni.jpg)>2.txt
- pause
复制代码
作者: qixiaobin0715 时间: 2021-6-18 13:40
这样应当也行。test.bat和1.txt文件放在图片目录下:- @echo off
- (for /f "delims=" %%a in (1.txt) do if not exist %%~na.jpg echo,不存在文件:%%~na.jpg)>2.txt
- pause
复制代码
作者: newswan 时间: 2021-6-18 13:42
powershell- $file = "a.txt"
- $path = "yuantu"
-
- get-content $file | foreach {
- if ($_ -match "\d+$")
- {
- if (-not(test-path $path\$matches[0]))
- {
- $str = $str + $matches[0] + "`n"
- }
- }
- }
- $str
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |