[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何批量将文件移动到以文件名命名的文件夹里并统一更改文件扩展名

求助:批量建立对应文件夹,并对应批量更名(改后缀名)。最后逆操作
【求助内容】:批量建立文件夹、批量更名。以后最后的逆操作。
【详细说明】:1、对本目录内的所有文件(仅flv、pdf、doc、docx类型),建立以对应文件名为名称(全称)的文件夹;
                     2、将文件移动到对应的文件夹中;
                     3、移动后,自动更名后缀为jpg
【样例图】:

===============================
【后续说明】逆操作,就是把上述的操作还原。

【背景说明】因为某云盘只能上传jpg,故将对应文件转为jpg再进行上传;
                  在下载后,再进行逆操作还原原来的目录文件结构。

所以一共两个bat文件,一个正操作,一个逆操作。
请各位大神显神帮助。




提醒:1、建立文件夹时,当前目录的文件名与目录名不允许相同(系统提示)
         2、文件名称中有相关特殊符号,如空格。

因为本人正在学中,但太多了,勉强看到if处。。。



===================================================
好吧,我已经看完了《批处理入门手册》修正版.chm
自己解决了。
正向操作:
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%s in (*.flv *.pdf *.doc *.docx) do (md xx
  3.                              move %%s xx\%%s
  4.                              cd xx
  5.                              ren *.flv *.jpg || ren *.pdf *.jpg || ren *.doc *.jpg || ren *.docx *.jpg
  6.                              cd..
  7.                              ren xx %%s
  8.                             )
  9. pause
复制代码
逆向操作:
  1. @echo off & setlocal enabledelayedexpansion
  2. for /d %%i in (*) do (ren %%i xxx
  3.                       cd xxx
  4.                       for %%j in (*.*) do (ren %%j %%i
  5.                                            move %%i ..
  6.                                           )
  7.                       cd..
  8.                       rd xxx
  9.                      )
  10. pause
复制代码
2

评分人数

如果只是为了伪装 jpg 绕过网盘检测,那么没有必要改变目录结构,没有必要建立文件夹和移动文件。

TOP

不如压缩上传

TOP

回复 3# wskwfkbdn
压缩太大,每个文件约300M-400M

TOP

回复 2# DiamondbacK
经手动测试,由于上传的图片文件不会保持原名,它会自动更名为英文格式名称,而上传的文件夹会保持原中文件全部名称。
所以,通过文件夹的名称来保留原来的真正文件名称

TOP

使用百度网盘咯

TOP

把文件夹当成文件上传是不可取的

TOP

  1. @echo off
  2. :begin
  3. cls
  4. echo;1、正操作      2、逆操作
  5. set /p=键入序号:<nul
  6. set c=
  7. for /f %%a in ('xcopy /w . 2^>nul') do if not defined c set "c=%%a"
  8. set "c=%c:~-1%"
  9. echo;%c%
  10. if "%c%" equ "1" (
  11.     for %%a in (*.flv *.pdf *.doc) do (
  12.         md "%%~na\"
  13.         move "%%a" "%%~na\%%~na.jpg"
  14.         ren "%%~na" "%%a"
  15.     )
  16. ) else if "%c%" equ "2" (
  17.     for /d %%a in (*.*) do (
  18.         move "%%a\*.jpg" "%%~na.tmp"
  19.         rd "%%a" /q
  20.         ren "%%~na.tmp" "%%a"
  21.     )
  22. ) else echo;输入无效!&>nul ping -n 2 0&goto begin
  23. pause
复制代码

TOP

本帖最后由 Bella 于 2016-9-10 00:03 编辑

http://www.bathome.net/thread-5814-1-1.html
说明这教程不错, 我挖出来的, 前面的回帖还是2013年
内容可以再精简一下, 做个置顶贴, 也就没这么多伸手党了

TOP

返回列表