我想知道在Visual Studio Code中是否有一种方法可以批量重命名文件?我尝试使用查找和替换,但没有成功。
我想知道在Visual Studio Code中是否有一种方法可以批量重命名文件?我尝试使用查找和替换,但没有成功。
有一些Visual Studio扩展程序试图提供此功能。
我尝试的前两个似乎不起作用。但是有一个叫做“批量重命名”(Batch Rename)的扩展程序对我有用:https://marketplace.visualstudio.com/items?itemName=JannisX11.batch-rename-extension。
以下是该扩展程序的使用方法:
VS Code仅支持单个文件名。在Windows上,要进行批量重命名,您可以使用以下其中之一
[CMD]
// Change the extensions of all .doc files to .txt
ren *.doc *.txt
// Replace the first three characters of all files starting with 'abc' by 'xyz'
ren abc* xyz*
[PowerShell]
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name.Replace('.txt','.log') }
这里可以找到一份全面的教程
brew install rename
rename s/foo/bar/g **/*
sed
模式。 - WoodyWoodsta目前,VS Code尚无此类功能或扩展程序。但是可以使用VS Code终端作为命令提示符,并在您想要将所有文件名从一个更改为另一个的文件夹上运行此命令,例如我想将所有视图文件从HTML更改为PHP。
rename *.html *.php
但是在Sublime Text中,通过dired插件,您可以使用Shift+R进入重命名模式。
这将为您提供一个带有每个文件的行的缓冲区:
D:\path\to\myfolder
first.file
second.file
third.file
...
umpteenth.file
Rename files by editing them directly, then:
Ctrl+Enter = apply changes
Ctrl+Escape = discard changes
find
命令和rename
命令来实现这个目标。以下是一个逐步指南:打开终端:
您可以通过在应用程序菜单中搜索“终端”或按下Ctrl + Alt + T
来打开终端。
导航到主文件夹(文件夹A):
使用cd
命令更改目录。例如,如果您的文件夹A位于主目录中,您可以像这样导航到它:
cd ~/A
运行find
命令以定位所有.js
文件:
使用以下命令:
find . -type f -name "*.js"
这将递归列出当前目录及其子目录中的所有.js
文件。
使用rename
重命名文件:
find . -type f -name "*.js" -exec sh -c 'mv "$0" "${0%.js}.jsx"' {} \;
命令的解释:
find . -type f -name "*.js"
:查找所有具有.js
扩展名的文件(不包括目录)。-exec sh -c 'mv "$0" "${0%.js}.jsx"' {} \;
:sh -c '...'
告诉shell执行以下命令。mv "$0" "${0%.js}.jsx"
:将文件从.js
重命名为.jsx
。$0
指的是find
找到的文件名。"${0%.js}.jsx"
使用参数扩展将.js
扩展名替换为.jsx
。验证更改:
您可以使用ls
列出目录中的文件,并验证它们是否已被重命名。
Powertoys有一个PowerRename工具,适用于在Windows中重命名多个文件
https://learn.microsoft.com/en-us/windows/powertoys/powerrename
基于Kin的回答和Kin提供的资源(第二页),为了查看当前文件夹及其所有子文件夹,以下是一些有用的重命名方法:
ls -R *.txt | Rename-Item -NewName {[io.path]::ChangeExtension($_.name, "log")}
Get-ChildItem -R *.txt | Rename-Item -NewName {$_.name.Replace('.txt','-text.log')}
Get-ChildItem -R *.txt | %{Rename-Item $_ -NewName ("NEW_NAME-{0}.log" -f $nr++)}
选择 txt 文件并将它们重命名为 [NEW_NAME]-NUMBER.log。
工作原理:
-R
选项允许进行递归查找;