如何从很多文件中删除文件扩展名?

时间:2019-02-24 13:47:27

标签: batch-file

我不小心在git文件夹中的某些文件中添加了png扩展名。如何撤消此操作?有一个git commit可以做到吗?

2 个答案:

答案 0 :(得分:3)

dataIdFromObject: (obj) => {
let id = defaultDataIdFromObject(obj);
console.log('defaultDataIdFromObject OBJ ID', obj, id);

找到了here

当使用命令/ S时,此代码重命名文件夹中的所有文件和子文件夹。 / M命令定义搜索掩码以查找所需的文件类型,该文件将被重命名。 / C定义必须在循环中的所有所需文件上执行以下代码。有关参数类型的更多信息,请参见Microsoft documentation

答案 1 :(得分:0)

我将使用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 /?