吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6426|回复: 43
收起左侧

[其他转载] 分享自用bat批量处理 文件改名 移动文件 分批文件

   关闭 [复制链接]
aichiyu 发表于 2021-11-24 18:44
当前子目录文件移动到目录
[Asm] 纯文本查看 复制代码
for /f "tokens=* delims=" %%i in ('dir /b /a-d /s "*"') do (move "%%i" "%%~dpi./../")

pause


添加其所在文件夹的名称前缀
[C] 纯文本查看 复制代码
@echo off
rem 在多个子文件夹里的jpg文件的名称前面/开头添加其所在文件夹的名称前缀
mode con lines=3000

set "folder=D:\天翼云盘下载\新建文件夹"
if not exist "%folder%" (echo;"%folder%" no found&goto end)
if "%folder:~-1%" equ "\" set "folder=%folder:~,-1%"
for /f "delims=" %%a in ('dir /ad/b "%folder%\"') do (
    pushd "%folder%\%%~nxa\"
    for /f "delims=" %%b in ('dir /a-d/b *.jpg 2^>nul') do (
        echo;"%%~nxa\%%~nxb" --^> "%%~nxa_%%~nxb"
        ren "%%b" "%%~nxa_%%~nxb"
    )
    popd
)
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit


文件新建文件夹并取名
[C] 纯文本查看 复制代码
md tbwind
for %%f in (*.*) do md tbwind\%%f
for %%f in (*.*) do move %%f tbwind\%%f\
xcopy tbwind\*.* /s
rd tbwind /s/q


去掉小箭头
[Asm] 纯文本查看 复制代码
/* ---去掉小箭头----*/
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /d "%systemroot%\system32\imageres.dll,197" /t reg_sz /f
taskkill /f /im explorer.exe
attrib -s -r -h "%userprofile%\AppData\Local\iconcache.db"
del "%userprofile%\AppData\Local\iconcache.db" /f /q
start explorer
pause
复制上面的代码。新建一个文本文件。粘贴后另存为.bat文件,然后以管理员身份打开。
ok!
/* ---恢复小箭头----*/
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /f
taskkill /f /im explorer.exe
attrib -s -r -h "%userprofile%\AppData\Local\iconcache.db"
del "%userprofile%\AppData\Local\iconcache.db" /f /q
start explorer
Pause
同理,将上述代码另存为.bat文件,管理员身份打开。就可恢复小箭头了。


目录中文件移出
[Asm] 纯文本查看 复制代码
@echo off
set son=%cd%
[url=home.php?mod=space&uid=251666]@rem[/url] 获取上级目录,暂时没使用到
pushd %son%
cd ..
set parent=%cd%
popd

for /d %%i in (*) do (
move /y %son%\%%i\*.* %son%
rd %son%\%%i
)
@Rem pause


清理文件
[Asm] 纯文本查看 复制代码
@echo off
pause
echo 正在清理系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清理系统垃圾完成!
echo. & pause


win10图片查看器
[Asm] 纯文本查看 复制代码
Windows Registry Editor Version 5.00
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.jpg] 
@="PhotoViewer.FileAssoc.Tiff" 
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.jpeg] 
@="PhotoViewer.FileAssoc.Tiff" 
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.gif] 
@="PhotoViewer.FileAssoc.Tiff" 
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.png] 
@="PhotoViewer.FileAssoc.Tiff" 
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.bmp] 
@="PhotoViewer.FileAssoc.Tiff" 
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.tiff] 
@="PhotoViewer.FileAssoc.Tiff" 
; Change Extension's File Type 
[HKEY_CURRENT_USER\Software\Classes\.ico] 
@="PhotoViewer.FileAssoc.Tiff"


多文件批量分成多个小文件夹
[Asm] 纯文本查看 复制代码
 @echo off&setlocal enabledelayedexpansion
::文件分类管理:按每5个文件装进一个文件夹整理。move为移动 copy为复制
echo;&echo;    开始整理……&echo;
set newf=0
set numf=0
set conf=0
if not exist New!newf! md New!newf!
for /f "tokens=*" %%a in ('dir /b /a-d') do (
    if !numf! geq 5 set numf=0&set /a newf+=1&md New!newf!
    if not "%%~na"=="%~n0" move "%%~a" New!newf!&set /a numf+=1
    set /a conf=!newf!*5+!numf!
)
echo;&echo;    整理完成,共 !conf! 个文件,请注意检查!&pause>nul

免费评分

参与人数 8吾爱币 +6 热心值 +6 收起 理由
2230538192 + 1 + 1 谢谢@Thanks!
ch38r18 + 1 谢谢@Thanks!
我是一个外星人 + 1 谢谢@Thanks!
凹凸曼大人 + 1 + 1 谢谢@Thanks!
rox + 1 + 1 感谢分享
qq9953 + 1 谢谢@Thanks!
helloworld0069 + 1 热心回复!
zhlezhi + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

arrymarry 发表于 2021-11-25 14:05
柠檬派 发表于 2021-11-25 13:06
楼主能帮忙写一个批处里吗?
以管理员方式运行bat,
bat内容是从B文件夹(\\10.142.164.240【账号密码都是 ...


转载论坛大佬写的,找不到地址了。你可以试试这个

import hashlib
def md5(file_path):
#------判断文件的MD5-------↓
    if os.path.isdir(file_path):
        return '1'
    read_file=open(file_path,mode='r',errors='ignore')

    the_hash=hashlib.md5()
    for line in read_file.readlines():
        the_hash.update(line.encode('utf8'))
    read_file.close()
    return the_hash.hexdigest()


import os
import shutil
def directory(dir_name1,dir_name2):#同步目录 备份目录
#-------克隆同步目录结构到备份目录--------↓
    dir1_list=[]
    for path,dirs,files in os.walk(dir_name1):
        # print(path,dirs,files)
        dir1_list.append(path)
    a=len(dir1_list[0])
    for i in range(len(dir1_list)):
        if os.path.exists(dir_name2+dir1_list[a:]) is False:
            os.mkdir(dir_name2+dir1_list[a:])
    dir2_list=[]
    for path,dirs,files in os.walk(dir_name2):
        dir2_list.append(path)
    a=len(dir2_list[0])
    for i in range(len(dir2_list)):
        if os.path.exists(dir_name1+dir2_list[a:]) is False:
            os.rmdir(dir2_list)
#-------判断同步目录哪些文件变更,复制到备份目录--------↓
    dir1_root=None
    for path,dirs,files in os.walk(dir_name1):
        if dir1_root is None:
            dir1_root=path
        trimmed_path=path[len(dir1_root):]
        # print(trimmed_path,files)
        if files!=[]:
            for i in range(len(files)):
                file1=os.path.join(dir_name1+trimmed_path+os.path.sep,files)
                file2=os.path.join(dir_name2+trimmed_path+os.path.sep,files)
                if os.path.exists(file2) is True:
                    if md5(file1) != md5(file2):
                        shutil.copy(file1,file2)
                else:
                    shutil.copy(file1,file2)                    
#-------删除备份目录比同步目录多出来的文件--------↓
    dir2_root=None
    for path,dirs,files in os.walk(dir_name2):
        if dir2_root is None:
            dir2_root=path
        trimmed_path=path[len(dir2_root):]
        #print(trimmed_path,files)
        if files!=[]:
            for i in range(len(files)):
                if os.path.exists(dir_name1+trimmed_path+os.path.sep+files) is False:
                    os.remove(dir_name2+trimmed_path+os.path.sep+files)


directory('//10.142.164.240/','D:\\A')
fenghuazhengmao 发表于 2021-11-24 22:02
guols-cracker 发表于 2021-11-24 20:14
楼主能帮忙写一个批处里吗?
在指定的路径文件夹里,搜索指定的文件是否存在,并提示忽略或删除

我今天照着网上写了一个,自动删除服务器日志文件夹里的.log文件,明天回您
DA111 发表于 2021-11-24 18:48
Eaglecad 发表于 2021-11-24 18:50
不错,可以参考,感谢
侃遍天下无二人 发表于 2021-11-24 18:52
天哪,我还是写代码实现吧,还是更习惯python脚本或nodejs
红蓝黄 发表于 2021-11-24 19:22
这个真不错
头像被屏蔽
heng179 发表于 2021-11-24 19:27
提示: 作者被禁止或删除 内容自动屏蔽
zhlezhi 发表于 2021-11-24 19:49
非常喜欢批处理,但一直没遇到好的教学方式,感谢分享成品,且都是工作实务中需要的
unmask 发表于 2021-11-24 19:50
非常实用的批处理,谢谢分享
linzilinzi 发表于 2021-11-24 19:59
非常实用的分享谢谢
guols-cracker 发表于 2021-11-24 20:14
楼主能帮忙写一个批处里吗?
在指定的路径文件夹里,搜索指定的文件是否存在,并提示忽略或删除
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 23:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表