我不小心把一个png
扩展名放在git文件夹中的某些文件中。如何撤消此操作?有没有git承诺这样做?
forfiles /S /M *.ext /C "cmd /c rename @file @fname"
找到here。
当使用命令/ S时,此代码将重新命名文件夹和子文件夹中的所有文件。命令/ M定义搜索掩码以查找将重命名的所需文件类型。 / C定义必须在循环中的所有所需文件上执行以下代码。有关参数类型的更多信息可以在Microsoft documentation中找到。
我会使用for /R
循环,其中/R
选项用于遍历所有子文件夹。在这种情况下,它将循环遍历所有子文件夹,搜索扩展名等于png
的文件:
@echo off
for /R "C:\folder\with\git" %%A IN (*.png) do ren "%%~fA" "%%~nA"
或者循环遍历dir
命令,该命令将搜索所有子文件夹以查找扩展名为png
的文件(更安全,因为它使用/A-D
选项排除了所有目录):
@echo off
for /F "delims= eol=" %%A IN ('dir /S /B /A-D "C:\folder\with\git\*.png"') do ren "%%~fA" "%%~nA"
另外,我想改进上面Johann发布的forfiles
解决方案,检查项目是否是文件并使用完整路径:
@echo off
forfiles /P "C:\folder\with\git" /S /M *.png /C "cmd /c ren @fpath @fname"
有关所用命令的更多信息,请将以下命令运行到新的cmd.exe
控制台:
for /?
ren /?
forfiles /?
cmd /?