【发布时间】:2019-06-08 08:55:01
【问题描述】:
遗憾的是,我还没有找到可行的解决方案,但希望这一次。 长话短说,我们有一台打印机,我们目前无法将扫描文件夹配置到我们的网络驱动器。所以我需要一个脚本来重命名和移动文件,但要保留它们。
据我所知,我有一个聪明的想法,将文件移动到第一个文件夹中,以避免文件被覆盖。接下来我需要使用计数器重命名文件或移动它们并保留它们。
我选择重命名选项,因为这看起来更简单,但我遇到了一个大问题。
我不知道我是如何让它工作的。所以我正在尝试的是首先设置变量并进行第一次测试计算。只是为了第一次快速测试。现在它已经在第一次计数时起作用了,但遗憾的是它并没有像希望的那样计数,因为他在增加变量的值之前对所有文件进行了重命名,因此只有一个文件被重命名。
@ECHO off
::Defining Variables
setlocal EnableDelayedExpansion
SET N=0
ECHO %N% Hi Not rename
SET /a N=%N%+1
FOR /L %%A in (1,1,10) DO (
Echo !N! hi
RENAME "C:\Users\smorheng\Desktop\1\*.pdf" "Test.?????.!N!.*" | SET /a N=!N!+1
ECHO !N! Hi Not rename
timeout 3 /nobreak > nul
)
ECHO RENAME DONE
timeout 50 /nobreak > nul
大约 20 个文件被重命名为 Test.1.pdf、Test.2.pdf .... Test.20.pdf,然后移动到它们的目的地。
移动不是问题,但如果我能设法让这个功能发挥作用,我可以根据我的需要调整它。
【问题讨论】:
标签: batch-file for-loop variables rename