windows - 在 Windows 7 中根据文件路径更改文件名和移动文件

标签 windows file command-line scripting

我有一堆分布在文件夹和子文件夹中的图像文件。我想做的是将它们全部移动到一个文件夹中,并根据它们以前的路径重命名它们。

为了说明,文件src/a/b/file1.png

应该变成 src/a_b_file1.png

在 Linux 中可能有一种聪明的方法可以做到这一点,但我目前使用的是 Windows 7 机器。

任何提示都很好,GUI 或命令行工具或一些脚本,没关系。谢谢。

最佳答案

试试这个:然后在记事本中检查 renfile.bat 看它是否适合您。 如果需要,添加更多文件类型。

@echo off
echo.@echo off> renfile.bat
for /f "delims=" %%a in ('dir *.jpg *.png *.gif /b /s /a-d ') do call :next "%%a"
echo renfile.bat created
pause
goto :eof
:next
set "var=%~1"
call set "var=%%var:%cd%=%%"
set "var=%var:\=_%"
>>renfile.bat echo ren "%~1" "%var:~1%"

还有另一个批处理文件,用于在重命名后移动所有文件:

@echo off
md "c:\target folder\"
for /f "delims=" %%a in ('dir *.jpg *.png *.gif /b /s /a-d ') do (
move "%%a" "c:\target folder\"
)

关于windows - 在 Windows 7 中根据文件路径更改文件名和移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222011/

相关文章:

java - opencv 视频捕获(Windows)不起作用

c++ - C++98如何处理多个不同类型的参数?

PHP:从php文件中获取PHP的变量、函数、常量

java - 如何判断程序何时终止?

c++ - 在 Windows 上生成硬件 ID

c++ - Windows 10 是否会防止您访问其他程序正在使用的内存?

image - 如何在 C++ 中使用 GDI+ 获取图像文件类型?

C++ 文本文件不会保存在 Unicode 中,它一直保存在 ANSI 中

command-line - 如何在 Java/Groovy 中进行系统命令调用?

windows - %variable% 和 !variable! 之间的区别在批处理文件中