Batch file 如何将文件名批量转换为小写,并更新其在相应文件中的引用
AdobeDreamweaver做得很好,但只使用一个文件名。在dreamweaver中,当我在右侧的“local files”(本地文件)框中选择文件名F2并重命名文件时,会打开一个对话框,确认更新当前站点中任何html、css文件中的相关引用 我正在寻找批处理这个过程,因为我有数千个驼峰大小写格式的文件,我需要把它们全部改成小写。这里的问题是,我还必须在html、css等文件中更新它们的相关引用,这是一项繁琐的任务 因此,我正在寻找一种工具或方法来批处理这个过程,在这里我可以将所有文件名转换为小写,并更新它们相应的引用/条目。引用名称可能位于给定文件夹或任何目录中的html或css文件中Batch file 如何将文件名批量转换为小写,并更新其在相应文件中的引用,batch-file,batch-processing,lowercase,batch-rename,dreamweaver,Batch File,Batch Processing,Lowercase,Batch Rename,Dreamweaver,AdobeDreamweaver做得很好,但只使用一个文件名。在dreamweaver中,当我在右侧的“local files”(本地文件)框中选择文件名F2并重命名文件时,会打开一个对话框,确认更新当前站点中任何html、css文件中的相关引用 我正在寻找批处理这个过程,因为我有数千个驼峰大小写格式的文件,我需要把它们全部改成小写。这里的问题是,我还必须在html、css等文件中更新它们的相关引用,这是一项繁琐的任务 因此,我正在寻找一种工具或方法来批处理这个过程,在这里我可以将所有文件名转换
提前感谢。经过大量改进后,我创建了这个批处理脚本,它将循环遍历当前目录中的所有指定文件,并将它们重命名为小写,还将遍历每个文件的内容,并将所有大写字母更改为小写
@echo off
setlocal enabledelayedexpansion
set num=0
for %%a in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (
set upper[!num!]=%%a
set /a num+=1
)
set num=0
for %%b in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
set lower[!num!]=%%b
set /a num+=1
)
for %%x in (C:\Users\folder1,C:\anotherfolder) do (
cd /d %%x
(
for %%c in (*.*) do (
set file=%%c
for /f "tokens=* delims=" %%e in (%%c) do (
set line=%%e
for /l %%d in (0,1,25) do (
set u=!upper[%%d]!
set l=!lower[%%d]!
call :RETURN !u! !l!
)
echo !line! >>new.txt
)
del %%c /f /q
ren new.txt %%c
ren %%c !file!
)
)
)
:RETURN
set file=!file:%1=%2!
set line=!line:%1=%2!
希望这有帮助 +1感谢您投入时间和精力,非常感谢,但我正在寻找更精确的工具,可能是一个我可以选择目录的工具,它会自动修改所有内容。这个脚本的问题可能是,如果有一个单词具有特定的文件名,它也会更改,而我只需要更改src和href引用的单词。希望你能得到我的要求,但真的很感谢你给我一些替代的解决方案,如果我没有得到一些非常具体的我的要求。好的,不用担心。我会看看是否可以让它更具体一点,并将发布我可以添加的任何内容:)我已经添加了能够选择重命名文件的文件夹的功能。只需将您的文件夹添加到中间
for
循环的主体中,我将C:\Users\folder1
和C:\anotherfolder
(这些必须是完整路径),您还可以使用通配符在该循环下方的for
循环中指定文件,我在该循环中使用了每个文件(*.
).除此之外,我认为我不能用它做很多其他事情,batch仅限于开始检查文件中的标记。这可能是可能的,但我不会尝试去做:)