需要一个Windows批处理文件来制作目录树的副本,并将给定old_name的出现重命名为给定的new_name,请参阅下面的示例。
我查看robocopy
和xcopy
无效
String old = "old_name";
String new = "new_name";
current directory:
C:\old_name
C:\old_name\table
C:\old_name\garage\old_name\chair\a.file (contains text I am OLD_NAME)
C:\old_name\garage\old_name\b.file (contains text I am old_name)
desired outcome:
C:\new_name
C:\new_name\table
C:\new_name\garage\new_name\chair\a.file (contains text I am NEW_NAME)
C:\new_name\garage\new_name\b.file (contains text I am new_name)
编辑: 显示路径中未更改为新名称的一个节点。
OLD_NAME = twintyone
NEW_NAME =一个
C:\用户\ fredJ \ AndroidStudioProjects \一个\应用\ SRC \主\的java \ MX \ COM \商人\ twintyone
答案 0 :(得分:1)
我不知道任何单个实用程序可以执行您想要的任何操作,但如果部署我的JREPL.BAT和JREN.BAT实用程序,那么一个简单的批处理脚本可以轻松有效地实现您的目标。
JREPL.BAT和JREN.BAT都是混合JScript /批处理脚本,可以在任何Windows机器上从XP开始本地运行 - 不需要复制或安装任何可执行文件。
批处理脚本有3个简单的步骤:
我还添加了一些ECHO语句,以便您可以按照进度
注意 - 以下内容未经测试。如果有错误,应该有一个简单的修复 - 基本设计是健全的
@echo off
set "old=OLD_NAME"
set "new=NEW_NAME"
xcopy "c:\%old%\*" "c:\%new%" /i /s
call jren "^.+" "%new%" /d /s /p "c:\%new%" /fm "%old%"
for /f "delims=" %%F in ('findstr /mspc:"%old%" "c:\%new%\*"') do (
echo Editing "%%F"
call jrepl "%old%" "%new" /l /f "%%F" /o -
)
echo(
echo Done!