bat代码,我有一个TXT首行文字重命名的代码,想把文件夹同名的图片一并改名求代码

以下是一个Python脚本,它通过遍历指定目录下的所有文件和子目录,查找与TXT文件同名的照片文件,并将其中包含姓名的照片文件重命名为与TXT文件同名:
import os# 指定目录路径和TXT文件后缀dir_path = "D:/path/to/folder"txt_suffix = ".txt"# 遍历目录下的所有文件和子目录for root, dirs, files in os.walk(dir_path): for file in files: # 如果是TXT文件,则获取其中的姓名
if file.endswith(txt_suffix):
txt_path = os.path.join(root, file) with open(txt_path, "r") as f:
name = f.readline().strip() # 查找同名的照片文件,并将其中包含姓名的文件重命名
for img_file in os.listdir(root): if img_file.startswith(file[:-4]) and not img_file.endswith(txt_suffix):
img_path = os.path.join(root, img_file) if name in img_file:
new_name = file[:-4] + "_" + img_file[len(file):-4] + img_file[-4:]
new_img_path = os.path.join(root, new_name)
os.rename(img_path, new_img_path) print("重命名 {} 为 {}".format(img_path, new_img_path))

要使用这个脚本,你只需要修改 dir_path 变量的值,将其设置为你想要重命名文件的目录。
注意,这个脚本假设照片文件与TXT文件同名,且包含姓名的照片文件的文件名应该包含姓名字符串,否则可能会无法正确找到并重命名文件。如果你的文件名格式不是这种方式,请告诉我,我可以帮助你修改代码。

可以使用如下代码将文件夹内同名的图片同时修改名称:
```
@echo off
setlocal enabledelayedexpansion
REM 设置变量name来保存文件夹名称
set "name=<文件夹名称>"
REM 设置变量txtName来保存文本文件名称
set "txtName=<文本文件名称>"
REM 获取文本文件的第一行内容,保存为变量newName
for /f "usebackq delims=" %%n in ("%txtName%") do set "newName=%%n"
REM 遍历文件夹中同名的图片,按照规则重命名
set i=1
for %%f in (%name%\*.jpg) do (
set "ext=%%~xf"
set /a "num=i"
if "!num!" LSS "10" set "num=0!num!"
if "!num!" LSS "100" set "num=0!num!"
ren "%%~f" "!newName!_!num!!ext!"
set /a "i+=1"
)
echo "All files successfully renamed!"
```
在这个Bat脚本中,我们首先将需要处理的文件夹名称和文本文件名称作为变量设置,在获取文本文件的第一行内容作为新的文件名后,使用 `FOR` 循环遍历文件夹中同名的图片,并根据规则重命名:图片名称由新名称(来自文本文件)+ 下划线(_) + 三位数字组成。最后通过 `REN` 命令将文件重命名。
你需要替换代码中的 `<文件夹名称>` 和 `<文本文件名称>` 为实际的目录和文件名。同样,将这个代码复制到文本编辑器中,并将文件保存为“rename.bat”,放在需要处理的文件夹中运行即可。

以下是一个可以实现将文件夹内的图片文件(.jpg或.png格式)与文件夹同名的代码一并改名的bat代码:
```
@echo off
setlocal enabledelayedexpansion
rem 获取文件夹名称
for /d %a in (*) do (
set "folderName=%a"
set "folderName=!folderName:~0,-1!"
echo 处理文件夹:!folderName!
rem 获取文件夹内的图片文件并重命名
for %f in ("%a\*.jpg" "%a\*.png") do (
set "fileName=%~nf"
ren "%f" "!folderName!_!fileName!%~xf"
echo 重命名文件:%~nxf -> !folderName!_!fileName!%~xf
)
)
pause
```
在代码中,首先使用 `for /d` 命令遍历当前目录下的所有文件夹,获取文件夹名称并去除最后一个字符,然后再使用嵌套的 `for` 命令,获取文件夹内的所有图片文件(.jpg或.png格式),并将文件重命名为文件夹名称加上原文件名的形式。
需要注意的是,上述代码只适用于当前目录下的所有文件夹,如果需要处理指定的文件夹,则需要将 `for /d` 命令中的 `*` 替换为指定文件夹的名称。此外,代码中的 `pause` 命令可以让程序暂停运行,以便查看执行结果。

以下是一个可以将指定文件夹下的所有图片文件的文件名改成和该文件夹同名的bat代码:
@echo off
setlocal enabledelayedexpansion
rem 获取当前目录的目录名
for %%i in (.) do set "folderName=%%~ni"
rem 遍历当前目录下的所有jpg、jpeg、png、gif文件
for %%i in (*.jpg *.jpeg *.png *.gif) do (
rem 将文件名存入变量
set "fileName=%%~ni"
rem 修改文件名
ren "%%i" "!folderName!_!fileName!%%~xi"
)
echo 图片重命名完成!
pause
代码中,首先获取当前目录的目录名,然后遍历当前目录下的所有jpg、jpeg、png、gif文件,对于每个文件,将文件名存入变量,然后修改文件名为“目录名_文件名.扩展名”的格式。修改文件名时使用了延迟环境变量扩展(enabledelayedexpansion),可以使变量在代码块中正确被扩展。最后,显示“图片重命名完成!”的提示信息并暂停程序,以便查看输出信息。
有帮到你的话望采纳 谢谢~

假设您已经有一个批处理文件(例如:rename.bat)可以根据TXT文件的首行重命名TXT文件。接下来,我们将修改这个批处理文件,以便它还可以在找到同名的图片时重命名图片文件。
以下是修改后的批处理文件:
batCopy code@echo off
setlocal enabledelayedexpansion

:: 修改此处为您的目标文件夹
set target_folder=.

for %%f in (%target_folder%\*.txt) do (
set "first_line="
for /f "usebackq delims=" %%a in ("%%f") do (
if not defined first_line (
set "first_line=%%a"
ren "%%f" "%%a.txt"
if exist "%%~dpnf.jpg" (
ren "%%~dpnf.jpg" "%%a.jpg"
)
if exist "%%~dpnf.png" (
ren "%%~dpnf.png" "%%a.png"
)
)
)
)

endlocal

这个批处理文件将扫描指定文件夹中的所有TXT文件,将每个文件重命名为其首行文字(假设首行是姓名),然后尝试在同一文件夹中查找同名的JPG和PNG图片文件。如果找到这些文件,它们将被重命名为与TXT文件相同的名称。
注意:在运行批处理文件之前,请确保您已备份文件夹中的所有数据,以防止不必要的数据丢失。

  • 浣跨敤bat鎵归噺鍒犻櫎txt鏂囦欢涓墠涓よ绗涓涓鍜屾渶鍚庝竴涓瓧绗?
    绛旓細涓嶆竻妤氫綘鐨勫疄闄呮枃浠讹紝浠呬互闂涓殑鎻忚堪涓烘嵁 澶嶅埗绮樿创鍒拌浜嬫湰锛屽彟瀛樹负xx.bat锛缂栫爜閫堿NSI锛岃窡瑕佸鐞嗙殑鏂囦欢鏀句竴璧疯繍琛孈echo offrem 鎵归噺鍒犻櫎txt鏂囦欢鍓嶄袱琛岀殑绗涓涓鍜屾渶鍚庝竴涓瓧绗(棣栧熬瀛楃)set #=Any question&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$% %z%cd /d "%~dp0"set "...
  • 姹bat鎵瑰鐞鎻愬彇澶氫釜鏂囨湰鏂囦欢鐨勭涓琛屽拰鏈鍚庝竴琛,杈撳嚭骞朵繚瀛樺埌ok.tx...
    绛旓細/a-d /b *.txt') do (set out=1if /i not "%%~nxa"=="ok.txt" (for /f "usebackq delims=" %%b in ("%%~a") do (set "line=%%a"if defined out (echo %%a >>ok.txtset out=)))echo !line! >>ok.txt)鎻愬彇褰撳墠鏂囦欢澶逛笅鏂囨湰鏂囦欢鐨勭涓琛屽拰鏈鍚 涓琛岋紝杈撳嚭鍒皁k.txt,...
  • bat for 鍛戒护濡備綍璇诲彇1.txt 鍏朵腑涓琛屽唴瀹
    绛旓細for /f "skip=1 delims=" %%a in (1.txt) do (set txt=%%~agoto :Show):Showecho %txt%pause浠ヤ笂浠g爜灏辨槸璇诲彇绗簩琛岀殑鍐呭銆傞渶瑕佽鍙栧叾瀹冭鐨勮瘽锛岃鑷淇敼skip=鍚庨潰鐨勬暟瀛楋紝蹇呴』姣斾綘瑕佽鍙栫殑琛屾暟灏忎竴浣嶃
  • 姹涓涓壒澶勭悊bat 鑳藉垹闄ゆ寚瀹氫綅缃殑txt 鍐呯殑绗竴琛屽唴瀹,骞朵繚瀛
    绛旓細echo offset #=Any question&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$% %z%cd /d "%~dp0"set "file=E:\ZA\QA.TXT"(for /f "skip=1 tokens=1* delims=:" %%a in ('type "%file%"^|findstr /n .*') do echo;%%b)>t.tmove /y t.t "%file%"echo;%#% +%$...
  • 鎵归噺鍒犻櫎鏂囦欢澶逛腑鎵鏈夌殑txt 绗竴琛屽拰绌鸿 鐢bat瀹炵幇,閫熷害缁欏垎
    绛旓細vbs瀹屾垚鎶婃枃鏈枃浠剁殑6琛屼互鍚庡垹闄ょ殑鍔熻兘锛屼娇鐢ㄦ柟娉曪細 line6.vbs a.txt 杩欐牱灏卞a.txt瀹屾垚浣犻渶瑕佺殑澶勭悊 鐜板湪浣犻渶瑕佸鐞嗘墍鏈夌殑txt鏂囦欢锛岀敤涓嬮潰鐨凞OS鍛戒护灏卞彲浠ワ細 for %f in (*.txt) do line6.vbs %f 濡傛灉鍐欎负BAT鏂囦欢锛屽簲璇ヤ娇鐢ㄤ袱涓%锛屼篃灏辨槸杩欐牱锛 for %%f in (*.txt) do line6....
  • txt鏂囦欢棣栬鍛戒负鏂囦欢鍚
    绛旓細for /f %%a in (A.txt) do @(if exist %%a for /f %%b in (B.txt) do (rename %%a %%b))淇濆瓨涓 鎵归噺鏀瑰悕.bat A.txt 鏄師鏉ョ殑鏂囦欢鍚 B.txt 鏄慨鏀瑰悗鐨勬枃浠跺悕 涓琛屽搴涓涓鍚嶅瓧涓嶈兘鏈夌┖鏍煎悓鏃舵敞鎰忔枃浠跺睘鎬 a.txt :NBA鐩存挱褰曞儚1.3gp NBA鐩存挱褰曞儚2.3gp NBA鐩存挱褰曞儚3.3gp NBA鐩存挱...
  • 浣跨敤bat,鎵归噺缁欐枃浠跺す閲岀殑涓鍫txt鏂囨湰 鐨勫唴瀹规渶寮濮,娣诲姞涓娈电浉鍚岀殑娈佃惤...
    绛旓細echo off & title 鎵归噺缁欐枃鏈捣澶村鍔犱竴琛屽唴瀹 By 渚濇ⅵ鐞寸懚cd /d %~dp0::璁剧疆瑕佹坊鍔犵殑琛屽唴瀹箂et Str=闄勫姞鐨勬枃鏈唴瀹筬or %%a in (*.txt) do ( (echo %Str% type "%%~a")>NewFile$ move /y NewFile$ "%%~a" >nul 2>nul && ( echo "%%~nxa" 宸叉洿鏂 ) || (...
  • 濡備綍浣跨敤bat鑴氭湰鎵瑰鐞鎵鏈txt鏂囨湰鏂囦欢涓殑姣忎竴琛屽紑澶存坊鍔涓涓鎸囧畾瀛...
    绛旓細鍙嬫儏鎻愮ず锛氫笉瑕佸娆¤繍琛屾鑴氭湰锛屾瘡杩愯涓娆¢兘浼氬湪鏂囨湰姣忚鍓嶅姞涓婂綋鍓嶆枃鏈悕锛屼篃灏辨槸杩愯涓ゆ浼氬姞涓ゆ銆傚鏋滄湁蹇呰瀹屽杽锛屽氨璇风户缁彁闂俥cho off ::璁剧疆鏂囨湰鐩綍set "SourDir=D:\test5"cd /d %SourDir%for /f %%a in ('dir /a-d /b /s') do (IF EXIST TEMP.TXT del TEMP.TXTfor /f ...
  • 鎵瑰鐞灏.txt鏂囦欢鍚嶅姞鍏ュ埌璇ユ枃浠剁殑绗1琛屼腑
    绛旓細鎴戠敤浜屼釜鏂囦欢鏉ュ鐞,a.bat:鎵ц鍏ュ彛璇彞,鎻愬彇褰撳墠鐩綍鎵鏈*.txt鐨勬枃浠; b.bat 鏄搷浣滃懡浠,鐢ㄤ簬灏嗘枃浠跺悕+鍐呭鍐欏叆鍒板姞浜 _鏂囦欢.txt;a.bat鍐呭濡備笅 echo off cls for %%c in (*.txt) do call b.bat %%c echo on b.bat 鍐呭濡備笅 echo off echo %1 >_%1 type %1 >>_%1 echo "...
  • bat鎻愬彇txt鏂囨湰鏌愪竴琛岃缃垚涓涓鍙橀噺
    绛旓細濂藉姙.娴嬭瘯鎴愬姛.echo off setlocal enabledelayedexpansion set /a "n=0"for /f "delims=" %%i in ('type 1.txt') do (set /a "n+=1"set "line!n!=%%i")echo 绗簩琛:!line2!echo 鍚湁3鐨勮:for /l %%i in (1,1,!n!) do (if not "!line%%i:3=!"=="!line%%i!" echo ...
  • 扩展阅读:电脑bat装逼代码大全 ... bat代码无限弹窗 ... 装逼代码复制bat ... bad boy txt ... bat各种代码自己玩的 ... bat命令大全txt ... bat有趣代码大全 ... 超级小t字母 ... msgbox无限弹窗代码 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网