【发布时间】:2019-05-25 01:04:30
【问题描述】:
我知道有很多这样的例子,但我就是不明白,这不应该那么困难,但我发现它是。
我有一个文件夹,里面有 4 个文件:
rtcc_current_pnp_data1-2018-12-26-061000.txt
rtcc_current_pnp_data2-2018-12-26-061000.txt
rtcc_current_pnp_data3-2018-12-26-061000.txt
rtcc_current_pnp_data4-2018-12-26-061000.txt
最后的日期/时间每天都在变化。
每天我都想运行一个批处理文件将这些文件重命名为:
data1.txt
data2.txt
data3.txt
data4.txt
就是这样...有人可以帮我从文件中提取正确的名称并重命名吗?
所以我尝试了这个,它没有做任何事情:
for %%A in (\\apdwhdb01\D$\ProbationImportFolder\Current\rtcc*.*) do (
set "filename=%%A"
set "newName=EXP_!filename:~18!"
rem ** remove the ECHO when it seems to work
ren !filename! !newName!
)
【问题讨论】:
-
正如您所说,有很多示例,请阅读它们,创建您的代码,然后回到这里edit your question,如果您编写的代码没有按预期执行。然后,您将在遵循How to Ask 中提供的建议后发布代码的minimal reproducible example。 从技术上讲,这个主题应该作为重复关闭,所以我建议你尽早考虑我的建议。
-
我也试过这个:experts-exchange.com/questions/28127794/… stackoverflow.com/questions/19140044/… robvanderwoude.com/battech_rename.php 很抱歉没有提供更多细节,但我整天都在寻找这个并且非常沮丧
-
将您找到的示例中的一些代码放在一起是您的责任,而不是我们的。虽然我很欣赏在您不熟悉的情况下将代码拼凑起来并不总是一项简单的任务,但它对会员和网站本身都很有礼貌,以显示一些努力。
-
我试图将示例中的代码放在一起但失败了——这就是我寻求帮助的原因。我挣扎的部分原因是因为我找不到所有这些命令的作用的任何解释。我什至不知道要搜索哪些术语来弄清楚这是在做什么@echo off pushd "pathToYourFolder" || exit /b for /f "eol=: delims=" %%F in ('dir /b /ad _.jpg') do ( for /f "tokens=1* eol=_ delims =_" %%A in ("%%~nF") do ren "%%F" "%%~nB_%%A%%~xF" ) 从这篇文章中弹出:stackoverflow.com/questions/14013145/windows-batch-file-rename
-
要了解命令的作用,请打开命令提示符窗口并输入带有问号选项的命令,例如
For /?、Set /?、Ren /?....
标签: batch-file rename