Batch file Bat以文件夹字符作为文件名前缀(&;带日期的后缀
当涉及到bat/cmd时,我是一个完全的新手。 我可以在谷歌的帮助下做一些非常基本的事情当我说基本的时候,我说的是xcopy,robocopy等等 我试图写一个代码,将提取前5个字符从当前文件夹和重命名文件中的子文件夹,但也与当前日期的后缀 这就是我想做的Batch file Bat以文件夹字符作为文件名前缀(&;带日期的后缀,batch-file,cmd,renaming,Batch File,Cmd,Renaming,当涉及到bat/cmd时,我是一个完全的新手。 我可以在谷歌的帮助下做一些非常基本的事情当我说基本的时候,我说的是xcopy,robocopy等等 我试图写一个代码,将提取前5个字符从当前文件夹和重命名文件中的子文件夹,但也与当前日期的后缀 这就是我想做的 W:\12345\u文件夹这是我要从中提取12345的主文件夹 W:\12345\u folder\subfolder这是要重命名的文件的位置 子文件夹中文件的当前名称如下 file1.txt file2.txt file3.txt 重命名后
W:\12345\u文件夹
这是我要从中提取12345的主文件夹
W:\12345\u folder\subfolder
这是要重命名的文件的位置
子文件夹中文件的当前名称如下
file1.txt
file2.txt
file3.txt
重命名后,它们应如下所示
12345文件1 2014-10-02.txt
12345文件2 2014-10-02.txt
12345文件3 2014-10-02.txt
我所有的努力都白费了。我可以用这个来确定日期。但是它重命名了整个文件名&不保留现有的文件名
for/f“tokens=1-5 delims=/”%%d in(“%date%”)请重命名“*.txt”%%g%%f-%%e-%%d.txt
我也一直在玩这个:
对于“%cd%”中的%%z执行(
对于“%%~dpz%\.”中的%%a,请执行以下操作(
重命名“**.txt”“%%~nxa-.txt”)
但这同样会覆盖整个文件名,并且不会保留现有的文件名
我必须再次强调,我是一个完全的新手,所以请温柔一点&非常感谢您的帮助。问题似乎在于Windows中的重命名命令有一些错误,特别是在分配前缀和后缀方面(请参见底部链接) 我只做了部分回答,因为我无法将日期作为后缀。但是,这将允许您使用您选择的前缀(包括日期)为目录中的文件名添加前缀 我试图让“日期作为后缀”的解决方案起作用,但在我的cmd版本中,以下操作没有成功:
REN *.txt ????????????????abc.txt.x
REN *.x *
返回:无效名称
这是我的替代解决方案,添加前缀日期。对于第一批处理示例,请创建两个批处理文件:
雷恩·巴特
%4
FOR %%v IN (%1) DO CALL %0 %1 %2 %%v GOTO:Part2
ATTRIB -h %2%1
GOTO End
:Part2
REN %3 %2%3
ATTRIB +h %2%3
:End
然后,在示例中使用上述批处理文件:
蝙蝠
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do renprefix.bat *.txt %%g%%f-%%e-%%d
资料来源:
“4.添加前缀”谢谢您的回复。我找不到这份工作。我还尝试了链接中的一些示例,但仍然不起作用。它似乎没有重命名任何东西。现在我很困惑。我已经用下面的代码在我的文件名后面加上了日期
@ECHO OFF for/f“tokens=1-5 delims=/“%%d in(“%date%”)DO(SET TODAY=%%f-%%e-%%d)for%%a in(*.txt)DO ren“%%a”“%%a”“%%na%TODAY%%xa”
现在我只需要一些关于前缀文件夹名称的帮助。现在,文件夹名称重命名正在为%%z xlin(“%cd%”DO(对于%%a in(“%%dpz%\\”)DO(对于%%i in(*.pdf,*.xlsx,*.docx,*.sm)确实移动“%%i”“%%~nxz_uuz%%i”)非常有用的是,此代码仅从文件夹名称中提取前5个字符。这是我现在唯一要做的事情,所以任何帮助都会很好。我相信这对一个没有运气的人来说很简单。我甚至不太确定我是如何让上面的代码工作的!