你们中的任何人都可以帮助我解决许多同名文件放置在单独文件夹中的问题吗?
文件夹以数字命名,但里面的文件被命名为index.XXXX - 其中XXXX可以是.jpg或.html或.pdf。
我想制作一个“程序”,可以将所有“索引”文件重命名为与它们所在的文件夹相同的名称。
这些文件夹以 6 位数字命名 - 全部不同。
希望完成此操作后,我想将所有重命名的文件移动到一个新的单个文件夹中,这样我就可以更轻松地查看全部内容。
期待阅读您的答案。
@Echo OFF
FOR /D /R %%# in (*) DO (
PUSHD "%%#"
FOR %%@ in ("index*") DO (
Echo Ren: ".\%%~n#\%%@" "%%~n#%%~x@"
Ren "%%@" "%%~n#%%~x@"
)
POPD
)
Pause&Exit
测试的文件夹结构:
C:\Users\Administrador\Desktop\Nueva carpeta (3)\123321
C:\Users\Administrador\Desktop\Nueva carpeta (3)\123321\Index.txt
C:\Users\Administrador\Desktop\Nueva carpeta (3)\123456
C:\Users\Administrador\Desktop\Nueva carpeta (3)\123456\Index.php
C:\Users\Administrador\Desktop\Nueva carpeta (3)\123456\000000
C:\Users\Administrador\Desktop\Nueva carpeta (3)\123456\000000\Index.css
C:\Users\Administrador\Desktop\Nueva carpeta (3)\654321
C:\Users\Administrador\Desktop\Nueva carpeta (3)\654321\Index.html
C:\Users\Administrador\Desktop\Nueva carpeta (3)\654321\666999
C:\Users\Administrador\Desktop\Nueva carpeta (3)\654321\666999\Index.jpg
输出:
Ren: ".\123321\Index.txt" "123321.txt"
Ren: ".\123456\Index.php" "123456.php"
Ren: ".\654321\Index.html" "654321.html"
Ren: ".\000000\Index.css" "000000.css"
Ren: ".\666999\Index.jpg" "666999.jpg"
如果您希望 GUI 执行上述所有操作,请使用 批量文件重命名。
打开它,浏览到您的文件夹。现在检查选择选项卡中的子文件夹选项。将列出文件夹下的所有文件。在浏览器中选择文件。
在文件选项卡中,将第一个选项从保留切换到删除。然后转到“附加文件夹名称”选项卡并为属性“名称”设置选项“前缀”。单击“重命名”即可完成。 这样做的好处是,它可以向您显示文件将被重命名的预览。 我同意 Brandon 的观点,即批量文件重命名 (
http://www.bulkrenameutility.co.uk/) 是在 Windows 下使用目录名称重命名/后缀文件的好方法。
@ECHO OFF
SETLOCAL enabledelayedexpansion
SET startfrom=c:\sourcedir
SET destdir=c:\destdir
FOR /f "delims=" %%i IN ('dir /s /b "%startfrom%\index.*"') DO (
FOR %%e IN (jpg html pdf) DO IF /i .%%e==%%~xi (
FOR %%d IN ("%%~dpi.") DO (
SET "var=%%~nxd"
IF "!var:~6!"=="" (
SET "var="
SET /a var=1%%~nxd 2>NUL
IF DEFINED var IF !var! geq 1000000 IF !var! leq 1999999 (
ECHO MOVE "%%i" "%destdir%\%%~nxd%%~xi"
)
)
)
)
)
获取“index.*”文件
set
ECHO
c:\sourcedir\index.pdf not 6-digit dir
c:\sourcedir\000000\index.jpg
c:\sourcedir\000009\index.css extension not specified
c:\sourcedir\000009\index.html
c:\sourcedir\000009\index.jpg
c:\sourcedir\000009\index.pdf
c:\sourcedir\000009\index.txt extension not specified
c:\sourcedir\010+39\index.txt not 6-digit dir
c:\sourcedir\12345\index.jpg not 6-digit dir
c:\sourcedir\1234567\index.jpg not 6-digit dir
c:\sourcedir\123x56\index.jpg
c:\sourcedir\50000-0000\index.jpg not 6-digit dir
c:\sourcedir\5000000000\index.jpg not 6-digit dir
c:\sourcedir\999-99\index.jpg not 6-digit dir
c:\sourcedir\999999\index.jpg
c:\sourcedir\a\index.jpg not 6-digit dir
c:\sourcedir\yellow\index.jpg not 6-digit dir
MOVE "c:\sourcedir\000000\index.jpg" "c:\destdir\000000.jpg"
MOVE "c:\sourcedir\000009\index.html" "c:\destdir\000009.html"
MOVE "c:\sourcedir\000009\index.jpg" "c:\destdir\000009.jpg"
MOVE "c:\sourcedir\000009\index.pdf" "c:\destdir\000009.pdf"
MOVE "c:\sourcedir\999999\index.jpg" "c:\destdir\999999.jpg"
对于任何发现移动到父文件夹的人,您可以将其用于您的批次系列。将其放入您想要将子文件夹文件移动到的父文件夹中。
@Echo OFF
FOR /D /R %%# in (*) DO (
PUSHD "%%#"
FOR %%@ in (*) DO (
Echo Moving: "%%~n#\%%@" "%%~n#\"
Echo "\%%#"\"%%@"
move "%%#"\"%%@" C:\Docs
)
POPD
)
Pause&Exit
干杯,
尤里尔·约翰
右键单击文件夹中的第一个文件,然后单击“重命名”。 输入文件的新名称“tiny Fishing”,然后按键盘上的 Tab 键。 继续输入文件名并按 Tab 移至下一个文件,直到所有文件都被重命名。