如何创建一个批处理脚本,该脚本选择文件夹中最旧的文件,重命名它,将其移动到另一个文件并再次重命名它?



我对编程/编码很陌生。 我会尽力解释我的问题(我的英语(。

我在Windows Server 2012上工作,我想创建一个批处理脚本,该脚本选择文件夹中最旧的文件,重命名它,将其移动到另一个文件夹并再次重命名。

另一种解释方式:

  • 我有一个包含 15 个文件的文件夹
  • 最早的文件称为"橙色"
  • 我希望脚本重命名"橙色"文件
  • 现在将文件移动到另一个文件夹,最后再次重命名

我从这里的其他地方得到了这个,但我不知道它是否有效,或者它到底意味着什么,我刚刚保存了它,所以我至少有一些东西可以向你们展示。  

@echo off
cd c:Test
for /F "delims=" %%a in ('dir /B /A:-D /O:D /T:W') do (
move "%%a" C:AnotherLocation
goto continue
)
:continue

我想我必须包括以下内容:ren [drive:][path]TargetMask,但我根本不确定... 我希望你能理解这一点。我已经尝试查找我的问题,但只是变得更加困惑......任何帮助将不胜感激。谢谢

Windows 10 64 位

如何使用 cmd、pushd、for indo、set、move 和 popd 移动和重命名文件夹中最旧的(按上次写入时间(的文件。

当您满意时,脚本将按照它所说的进行操作,并进行以下更改。

%userprofile%desktop更改为C:AnotherLocation

pushd "%userprofile%desktop"更改为pushd c:test

echo move更改为move

Rob Vanderwoude NT FOR

脚本:

@rem How to move and rename the oldest (by last written time) file in a folder using cmd, pushd, for in do, set, move, and popd.
@rem Windows 10 64-bit
@echo off
setlocal enableextensions
pushd "%userprofile%desktop"
FOR /f "delims=" %%g IN ('DIR /b /a-d /o-d /tw') DO (
SET zold=%%g  
SET zoldname=%%~ng
)
echo move /y %zold% %userprofile%desktop%zoldname%.bat
popd 
exit /b

厘米:

cmd /eq
pushd "%userprofile%desktop"
FOR /f "delims=" %g IN ('DIR /b /a-d /o-d /tw') DO (
SET zold=%g  
SET zoldname=%~ng
)
echo move /y %zold% %userprofile%desktop%zoldname%.bat
popd 
exit /b

相关内容

  • 没有找到相关文章

最新更新