从 Windows 中的文件名中删除最后一个字符

2023-11-30

我对批处理编程很陌生,我想删除文件名中的最后一个字符。

10_myfile_12345_6789.txt
11_myfile_12345_0987.txt

我想删除文件名的最后 4 位数字,我该怎么做?

我已经尝试过这个

@echo off
setlocal enabledelayedexpansion
set X=3
set FOLDER_PATH=
pushd %FOLDER_PATH%
for %%f in (*) do if %%f neq %~nx0 (
    set "filename=%%~nf"
    ren "%%f" "!filename!%%~xf"
)
popd
PAUSE

但它删除了第一个和最后一个字符,我也只在这里看到了这个,我仍然很困惑这是如何工作的


根据您最近的澄清 - 我将执行以下操作。

@echo off
setlocal enabledelayedexpansion
set FOLDER_PATH=C:\Some\Path\
for %%f in (%FOLDER_PATH%*) do if %%f neq %~nx0 (
    set "filename=%%~nf"
    ren "%%f" "!filename:~0,-4!%%~xf"
)
PAUSE

这将改变你的例子

10_myfile_12345_6789.txt
11_myfile_12345_0987.txt

Into

10_myfile_12345_.txt
11_myfile_12345_.txt

如果你想删除尾随_只需改变!filename:~0,-4! to !filename:~0,-5!。这很简单字符串操作.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Windows 中的文件名中删除最后一个字符 的相关文章

  • 如何在批处理文件中重复%random%命令?

    我想在有限的时间内重复批处理文件中的命令 此命令 echo random random random random random random random random random random 不是无限的 只为前任40次具有不同的数字
  • 如何在 C# 中暂时清空 Windows-7 第二个显示屏?

    我尝试使用 ChangeDisplaySettingsEx 将其宽度和高度设置为 0 这会清空显示监视器 但当我将 W 和 H 设置回来 并恢复 dmPosition x 时 它就保持关闭状态 我的系统有两台显示器 我正在尝试暂时清空其中一
  • 写入输出-InputObject(,'测试')-NoEnumerate

    我认为这是一个仅适用于 PowerShell Windows 5 1 的错误 The NoEnumerate当通过命名提供输入时 开关不起作用 InputObject争论 以下函数返回False Function Test Write Ou
  • 指定执行批处理文件时命令提示符的大小

    编辑 如何指定命令提示符的字体和窗口的大小 我使用的是 Windows 7 专业版 好的 抱歉 我正在尝试使用命令来执行上述操作 所以我不接受那些 按属性 的答案 如果您想以编程方式更改控制台字体大小 请参阅这一页 https 4sysop
  • Windows / Powershell 将程序版本获取到变量中

    我很接近 但不在那儿 我可以通过 powershell 获取应用程序的版本 但它附带一堆文本 这个命令 powershell NoLogo NoProfile Command get item Path c myapp exe Versio
  • 在这些情况下限制破折号的正则表达式模式

    Scenario 我正在使用第三方文件重命名软件 该软件是用 Delphi 编写的 并且具有 pascal 脚本支持 该应用程序允许使用正则表达式来重命名文件 这意味着 如果我需要对文件名执行的操作不能仅使用一个正则表达式来完成 那么我可以
  • 如何使用Windows任务计划程序执行cscript?

    问题 当我双击 bat 文件时 它会按预期执行 当我在 Windows 任务计划程序中安排它时 除了具有 cscript 的行之外 它都会执行 bat文件的内容 echo off cls cscript CSV To Excel vbs c
  • 完美批量转发参数

    我有一个小的 python 脚本 args py import sys print sys argv 我怎样才能写一个 bat将所有参数转发给该脚本的包装文件 为了从测试中消除我的 shell 我将调用它 import subprocess
  • 如何在命令提示符中仅显示具有备用数据流的文件

    我知道要在命令提示符中显示所有文件 如果有 的备用数据流 这是命令dir R 但是 如果我只想显示具有备用数据流的文件 该怎么办 dir s r findstr e DATA or dir r findstr e DATA 第一个将在所有子
  • 当应用程序最小化时隐藏表单

    我有一个主表单和一个状态表单 当我的应用程序中的工作正在进行时 我会显示它们 如果工作完成我就打电话Hide状态表上出现 状态表消失 当我最小化主窗体而等待窗体可见时 就会出现问题 然后两种形式都被隐藏 这就是我想要的 但是 如果工作完成时
  • 如何删除批处理文件中的新行?

    我正在处理批处理文件并导出到文本文件 看起来一切都很好 但是当我打开文本文件时 许多新行中断 所以 我想删除它们 echo OFF setlocal EnableDelayedExpansion systeminfo findstr c H
  • 在C中找到机器的IP地址?

    Windows下C盘如何获取本机IP地址 我无法在以下代码中获取我的机器的IP地址 include
  • 使用批处理从文本文件中提取特定文本

    我正在尝试使用批处理代码从文本文件中提取特定文本 我需要从中提取数据的文件将有多行文本 并且行数会有所不同 这意味着指示器的位置也会发生变化 以下是文本文件的示例 File 1
  • 调用 close() 后大文件没有立即刷新到磁盘?

    我正在使用 python 脚本创建大文件 超过1GB 实际上有 8 个 在创建它们之后 我必须创建将使用这些文件的进程 该脚本如下所示 This is more complex function but it basically does
  • 找出用户属于哪些组

    我有一个刚刚创建的 Windows 用户帐户 以 XYZ 为例 此 XYZ 属于我在计算机管理 gt 本地用户和组中创建的用户组和自定义组 因此 在属性中我看到该用户属于 2 个组 现在我想获取这些组并显示它们 有什么建议么 我已经这样做了
  • 如何在 Windows 上以编程方式将 SVG 转换为 PDF?

    我希望在服务器上以编程方式将 SVG 转换为 PDF 文档 在 Windows 上执行此操作有哪些选项 我看过链接Inkscape http www inkscape org Batik http xmlgraphics apache or
  • runas /savecred...不接受 cmdkey /add (凭据)

    我有一个问题鲁纳斯 savecred and cmd键 添加 我有一个批处理文件包含这一行 runas profile savecred user MyDomain MyUserName MyProgram exe 我以管理员身份登录到我的
  • 如何检查窗口在用户屏幕上是否完全可见?

    有没有办法检查 WinForm 在屏幕上完全可见 例如是否超出屏幕范围 我已经尝试使用 SystemInformation VirtualScreen 来实现此目的 只要虚拟屏幕是一个矩形 它就可以很好地工作 但是一旦它不是 例如 L 形的
  • 如何检查应用程序的另一个实例是否正在运行[重复]

    这个问题在这里已经有答案了 有人可以展示如何检查程序的另一个实例 例如 test exe 是否正在运行 如果是 则停止加载应用程序 如果存在该实例 想要一些严肃的代码吗 这里是 var exists System Diagnostics P
  • 有适用于 Windows 的 Bonjour SDK 吗?

    我想知道如何在 Windows 上实现 bonjour 以便我可以在 Windows 上设置服务器并使用 iphone 客户端 中的 bonjour 服务访问 Windows 服务器 中的文件 谁能告诉我我们是否有适用于 Windows 的

随机推荐