Windows共通バッチファイル-一括コピー、解凍

4078 ワード

自分のブログ
文書ディレクトリ
  • 1. 一括コピーファイル
  • 2. 一括解凍ファイル
  • 3. 一括名前変更ファイル接尾辞
  • 4. Win 10 LAN共有の問題(未テスト)を解決する
  • 1.一括コピーファイル
    ファイルcopy_file.batを作成します.内容は以下の通りです.ANSI符号化として保存します.そうしないと、中国語が文字化されません.
    @echo off & color 0A
    ::        :    bat            
    set DIR="%cd%"
    echo      :%DIR%
    set src_dir=C:\Users\zfb\Desktop\test\
    set name1=%src_dir%a.txt
    set name2=%src_dir%b.txt
    
    for /f "delims=" %%i in ('dir /ad /b /s "%DIR%"') do (
        echo       %name1%    %%i
        copy %name1% %%i
        echo       %name2%    %%i
        copy %name2% %%i
        md %%i\dir_new
    )
    pause
    

    あるいは、青奏雲ファイルを直接ダウンロードし、ダブルクリックすると機能を実現します.具体的な機能説明:ターゲットフォルダの構造および.batファイルは以下のように配置されます.
    |--test
    |------copy_files.bat
    |------file01
    |------dir01
    |----------dir01A
    |----------dir01B
    |------dir02
    |----------dir01A
    |----------dir01B
    |----------dir01C
    |------dir03
    |----------file01
    

    この2つのファイルC:\Users\zfb\Desktop\test\a.txt、C:\Users\zfb\Desktop\test\b.txtをターゲットフォルダとその各サブディレクトリにコピーするには、さらに1つのディレクトリdir_newを新規作成します.最終的な効果は次のとおりです.
    |--test
    |------copy_files.bat
    |------file01
    |------dir01
    |----------a.txt
    |----------b.txt
    |----------dir_new
    |----------dir01A
    |--------------a.txt
    |--------------b.txt
    |--------------dir_new
    |----------dir01B
    |--------------a.txt
    |--------------b.txt
    |--------------dir_new
    |------dir02
    |----------a.txt
    |----------b.txt
    |----------dir_new
    |----------dir01A
    |--------------a.txt
    |--------------b.txt
    |--------------dir_new
    |----------dir01B
    |--------------a.txt
    |--------------b.txt
    |--------------dir_new
    |----------dir01C
    |--------------a.txt
    |--------------b.txt
    |--------------dir_new
    |------dir03
    |----------a.txt
    |----------b.txt
    |----------dir_new
    |----------file01
    

    2.一括解凍ファイル
    ダウンロードされる元のデータは、異なるフォルダの下に分布する可能性がありますが、ファイルの拡張子は一致しています.各圧縮パッケージ (便宜上プログラム異常終了後に再実行)、 等を操作したい場合は、以下のようにunzip_all_files.batファイルを新規作成することができる.
    @echo off
    set WinRAR="C:\Program Files\WinRAR\WinRAR.exe"
    set log_name="\log.txt"
    set log=%cd%%log_name%
    for /r . %%a in (*.rar *.zip *.Z *.gz) do ( 
        cd "%%~pa" 
        rem auto replace files that exists
        rem x : extract
        rem -o+ : cover mode
        rem -ilog : error msg to file
        rem -inul : do not display error window
        rem -iback : run in the background
        rem -mt : thread num
        %WinRAR% x -o+ -ilog%log% -inul -iback -mt12 "%%a"
        rem last command run successfully
        if %errorlevel% == 0 (
            rem delete compress file
            del "%%a"
        )
    )
    

    あるいは直接藍奏雲ファイルをダウンロードして、ダブルクリックして機能を実現することができます
    3.一括名前変更ファイル接尾辞
    新しいファイルrename_suffix.bat、内容は以下の通りです.
    ren *.7z *.zip
    

    このファイルをダブルクリックすると、現在のディレクトリの下にあるすべての.7zファイルの拡張子を.zipに変更できます.
    4.Win 10 LAN共有の問題の解決(未テスト)
    以下の内容のファイルfix_lan_share.batを作成します.
    @echo off
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
    setlocal enabledelayedexpansion
    echo.
    ver | find "10." > NUL && goto win10
     
    :error
    mshta vbscript:msgbox("      Win10  ",vbSystemModal+64,"  ")(window.close) 
    exit
     
    :win10
    ::     
    echo Windows Registry Editor Version 5.00 >%temp%\smb.reg
    echo. >> %temp%\smb.reg
    echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation] >> %temp%\smb.reg
    echo @=""  >> %temp%\smb.reg
    echo "AllowInsecureGuestAuth"=dword:00000001 >> %temp%\smb.reg
    regedit /s %temp%\smb.reg
     
    echo   smb    
    dism /online /format:table /get-features
    dism /online /enable-feature /featurename:SMB1Protocol
     
    mshta vbscript:msgbox("     。       !",vbSystemModal+64,"  ")(window.close) 
     
    exit
    

    あるいは直接藍奏雲ファイルをダウンロードして、ダブルクリックして機能を実現することができます