写一个bat文件,遍历bat文件所在的目录及子目录,如果文件夹中有一个后缀为mobi的文件,一个后缀为azw3的文件,就将这个文件夹移动到bat脚本文件所在的目录
时间: 2024-02-26 08:58:08 浏览: 64
好的,以下是一个可以实现你要求的bat文件的示例代码:
```
@echo off
setlocal enabledelayedexpansion
set script_dir=%~dp0
set has_mobi=0
set has_azw3=0
for /r "%script_dir%" %%d in (*) do (
set ext=%%~xd
if /i "!ext!"==".mobi" set has_mobi=1
if /i "!ext!"==".azw3" set has_azw3=1
if !has_mobi! equ 1 if !has_azw3! equ 1 (
move "%%~dpd" "%script_dir%"
set has_mobi=0
set has_azw3=0
)
)
endlocal
```
这个bat文件会首先获取它所在目录的路径,然后遍历该目录及其子目录中的所有文件和文件夹。对于每个文件夹,它会检查其中是否有一个后缀为mobi的文件和一个后缀为azw3的文件。如果有,它就会将这个文件夹移动到bat脚本文件所在的目录。
你可以将这个代码保存为一个名为"move_folders.bat"的文件,然后将它放在你想要执行操作的根目录中。双击运行它即可。
相关问题
写一个bat文件,遍历bat文件所在的目录及子目录,如果目录中有一个后缀为mobi的文件,一个后缀为azw3的文件,就将这个文件夹移动到根目录
好的,以下是一个可以实现你要求的bat文件的示例代码:
```
@echo off
setlocal enabledelayedexpansion
set root_dir=%~dp0
set has_mobi=0
set has_azw3=0
for /r "%root_dir%" %%d in (*) do (
set ext=%%~xd
if /i "!ext!"==".mobi" set has_mobi=1
if /i "!ext!"==".azw3" set has_azw3=1
if !has_mobi! equ 1 if !has_azw3! equ 1 (
move "%%~d" "%root_dir%"
set has_mobi=0
set has_azw3=0
)
)
endlocal
```
这个bat文件会首先获取它所在目录的路径,然后遍历该目录及其子目录中的所有文件和文件夹。对于每个文件夹,它会检查其中是否有一个后缀为mobi的文件和一个后缀为azw3的文件。如果有,它就会将这个文件夹移动到根目录。
你可以将这个代码保存为一个名为"move_folders.bat"的文件,然后将它放在你想要执行操作的根目录中。双击运行它即可。
阅读全文