您好我需要在txt文件中生成图像列表,但我必须删除最后一个字符并删除重复项
例
SDFDFDF_1.jpg
SDFDFDF_2.jpg
THGGHFG_1.jpg
THGGHFG_2.jpg
Run Code Online (Sandbox Code Playgroud)
并且必须在txt列表中保持这种状态
SDFDFDF
THGGHFG
Run Code Online (Sandbox Code Playgroud)
我的代码只删除.jpg
@echo off
if exist "sku.txt" del "sku.txt"
for /f "delims=" %%f in ('dir *.jpg /b') do echo %%~nf >> sku.txt
Run Code Online (Sandbox Code Playgroud)
ank*_*ork 26
Batch支持从字符串中取出子字符串的语法.这个的一般语法是
%string:~start,end%
Run Code Online (Sandbox Code Playgroud)
基本用法:
set test=test
echo %test:~2,3%
::st
Run Code Online (Sandbox Code Playgroud)
这如何适用于您的问题?当负数用作结束索引时,子字符串会在字符串结尾之前停止许多字符.此行为可以轻松地从字符串末尾删除字符.
set test=test
echo %test:~0,-1%
::tes
Run Code Online (Sandbox Code Playgroud)
如果启用了扩展,这应该可以工作:
@echo off
if exist "sku.txt" del "sku.txt"
setlocal enabledelayedexpansion
set list=
for /f "usebackq delims=" %%f in (`dir /b *.jpg`) do (
set xx=%%~nf
set candidate=!xx:~0,-2!
set n=0
for %%i in (!list!) do (
if "!candidate!"=="%%i" (
set n=1
)
)
if !n! EQU 0 (
set list=!list! !candidate!
echo !candidate! >> sku.txt
)
)
endlocal
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26189 次 |
| 最近记录: |