使用批处理文件将文件名和文件中的特定字符串传递到for循环中

Divakar Ragupathy

这是我的另一个挑战。当我将文件名传递给for循环时,我想从文件名中获取一个特定的单词,并且还需要将其作为参数传递。

例如:当一个文件夹中有5个文件时,说

Encrypted_abc_1.xml Encrypted_xyz_2.xml Encrypted_hij_3.xml Encrypted_klm_4.xml Encrypted_nop_5.xml

我想将文件名Encrypted_abc_1.xml和abc传递到for循环中。我在单独的for循环中都得到了答案,但是我如何才能合并为一个for循环

首先for循环将获取单词

for /f "tokens=2 delims=_." %%a in (Encrypted_*.xml /b) do (

Echo %%a

另一个for循环将获取完整的文件名

for /R "%Path%" %%f in (Encrypted_*.xml) do (

Echo %%f

我想合并在单个for循环中。你能帮我么?

马特·威廉姆森(Matt Williamson)

干得好:

@echo off
setlocal

for /f "tokens=*" %%a in ('dir /b %1\Encrypted*.xml') do (
  echo %%a & for /f "tokens=2 delims=_" %%b in ("%%a") do (
    echo %%b
  )
)

确保您传递了脚本的路径。这是我得到的输出

C:\temp>testfilenameparse.cmd c:\path
Encrypted_abc_1.xml
abc
Encrypted_samp_3.xml
samp
Encrypted_xyz_2.xml
xyz

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

批处理:用循环替换文件和文件名中的字符串

使用批处理文件从字符串(文件名)中提取特定部分

批处理文件循环-如果文件名包含字符串,则跳过文件

Windows批处理文件循环中的字符串

创建批处理文件,以文件名中的某些字符串将文件添加到数组

批处理文件:删除字符串路径中的文件名

将截断的文件名传递到另一个批处理文件

批处理文件以替换文件名和扩展名中的字符串

批处理文件查找包含子字符串的文件名

批处理文件在FOR循环中使用特殊字符和引号对字符串进行处理

批处理文件可将数字前缀添加到基于月份字符串的文件名中

批处理文件重命名脚本交换文件名中的子字符串?

将变量传递给Windows FOR / DO批处理文件中的文件名

批处理文件以列出csv中的文件路径和文件名

Windows命令批处理文件从嵌套循环中的字符串调用变量

批处理文件 FOR /F 循环中的 git --format 字符串有问题吗?

使用批处理文件从xml中的特定标签之间打印字符串

如何使用批处理文件替换Windows文件名中的单个字符?

将字符串回显到多行.txt文件-Windows批处理文件

查找文件中出现的字符串,并通过批处理文件显示“文件名-计数”

使用批处理文件中的msqldump将时间戳记添加到文件名

批处理文件从位置到长度的字符串中获取子字符串

了解批处理文件中的for循环以通过替换字符串来重命名文件

如何使用批处理文件在循环内的字符串中查找子字符串?

批处理文件并使用文件的文件名

创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

如何使用批处理文件获取文件列表并将文件名用作字符串操作(重复检查)和条件的输入?

使用 Windows 批处理文件根据文件名的一部分将文件分类到文件夹中

批处理文件以处理以特定字符结尾的文件名