繁体   English   中英

使用Windows REN将文本插入文件名,并保持名称的其余部分?

Using Windows REN to insert text into a filename, maintaining the rest of the name?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我目前正在尝试使用REN命令在文件名中间添加文本,同时保留其余文件名。

例:

testfile_2018-11-14-06-06-23.pdf > testfile_ABCD_2018-11-14-06-06-23.pdf

后六位数字可能会发生变化,因此我需要用通配符表示它们。

目前,我有以下内容:

REN testfile_2018-11-14*.pdf testfile_ABCD_2018-11-14*.pdf

结果是: testfile_ABCD_2018-11-146-23.pdf

最后六位数字未保留,我不知道为什么。

2 个回复

可以肯定的是,用一个简单的REN命令不能完成它。 但是,您可以使用FOR /F命令的功能来操纵文件名。

在命令提示符下,您可以运行此命令。

for /f "tokens=1* delims=_" %G IN ('dir /a-d /b "testfile_2018-11-14*.pdf"') do ren "%G_%H" "%G_ABCD_%H"

这将找到文件,然后用下划线分隔文件名。 然后,使用新文件名中的额外字符串将其重命名。

如果要在批处理文件中运行此程序,则必须将百分比符号加倍。

如果我们为REN提供替代解决方案,则在PowerShell中有以下几种方法:

字符串分割:

## Get a System.IO.FileInfo object to the file
$f = Get-Item path-to-the-testfile

## Split up the name by the underscore so the zeroth entry is 'testfile' and the first entry is the remaining name
$s = $f.Name.Split("_")

## Use String tokenization to recombine the different parts in the desired order during the rename
Rename-Item $f.FullName ("{0}\{1}_{2}_{3}" -f $f.DirectoryName, $s[0], 'ABCD', $s[1])

字符串替换:

## Get a System.IO.FileInfo object to the file
$f = Get-Item path-to-the-testfile

## Use string replace to fix the name during the rename operation
Rename-Item $f.FullName ($f.FullName.Replace('testfile_', 'testfile_ABCD_'))

可以使用正则表达式,但是如果您不熟悉上述方法,可能会过于复杂。

1 使用Windows ren命令删除! 从文件名

我有一堆文件格式如下 其中#是一个递增的数字,以防止碰撞。 我想删除! 从文件名中读取为 似乎我可以使用ren命令和通配符执行此操作,但很难让它工作。 我试过这个: 我的想法是*应该匹配文件名 - 部分,然后!,然后是? 对于数字。 但是,生成的文件名为: ...

2 使用Windows REN命令从文件名中删除前缀

如果可能,我正在尝试仅使用Windows cmd行提出此问题的解决方案。 我有一系列看起来像下面的文件, 我想检测当前目录中包含括号内的文本作为前缀的任何文件名,然后删除该文件名的该部分。 我已经使用Windows REN命令进行了一些研究,但似乎可以采用正确的语法或通配符 ...

3 使用for循环VBS中文件名的最后几个字母搜索文件夹的其余部分

大家好,我是VBS的新手,我正在尝试查找代码以搜索文件夹中的其余文件,这些文件中包含for循环中文件中的特定编号。 让我尝试为您可视化它。 当前代码可以打印出我每天必须手动打印出的文档: 现在,我正在尝试通过将包含“ DN”的文件与其包含“ PO”或“ INV”的相应文件进行匹配 ...

6 使用文件夹名称重命名文件名,但保持数字相同

我想使用文件夹名称重命名子目录中的文件。 我的文件就是这种格式 我想将其更改为 我发现此脚本可以使用文件夹名称更改文件名,但是我想添加正则表达式,以便可以在一个脚本中更改所有文件 我尝试用un[0-9].fast/D, un/d.fast/D替换脚本,但是它们都不起作用 ...

7 使用fstream覆盖文件中的某些文本并删除文件的其余部分

我正在尝试编写一个使用fstream读取文件的程序,然后重写一些文本并删除文件的其余部分这是我要做的代码 请注意以下用于打开文件的标志 我尝试了很多这些的组合但是没有它们帮助我做我想要的东西我想要阅读文件,直到我找到文本。 如果我找到了我想要的文本,我会过度编写并删除文件的其余 ...

8 使用fnmatch匹配文件名的2个部分

我目前正在使用fnmatch查找要复制的文件,而忽略其余文件: 以下是我的一些脚本,仅用于举例说明其用法。 我已经意识到,这目前也与隐藏文件匹配,我不想复制这些文件。 我看到解决此问题的3种选择: 我可以排除整个隐藏文件。 我可以排除以~$开头的文件。 ...

9 使用 Glob 将文件夹内具有部分名称的文件名获取到列表

我有几个格式相同但值不同的文件。 在 StackOverflow 用户的帮助下,我运行了代码,但现在我正在尝试优化它,我需要一些帮助来做到这一点。 这是完整的代码: 我尝试使用的代码如下: 此时我收到以下错误:回溯(最近一次调用最后一次):文件“finaltwek.py”,第 4 行,在 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM