Board logo

标题: [其他] 如何复制当前批处理所在目录下一一对应的JPG和txt并从新编号 [打印本页]

作者: mhxyzql    时间: 2012-2-18 18:50     标题: 如何复制当前批处理所在目录下一一对应的JPG和txt并从新编号

我想把bat所在目录,与*****0.JPG和与之对用的*****_ANSI.txt文件(前面文件名相同.如图)
一起拷贝到该目录下data文件夹下,并分别一一对应编号为1.txt 、1.jpg、2.txt、2.jpg……。

@echo off
if not exist data md data 2>nul
for %%i in (*.jpg) do (
  if exist "%%~ni.txt" move "%%~ni.txt" data\&move "%%i" data\
)
这个是把相同名字的*.JPG和*.txt文件放到data文件夹下,
请各位帮忙改一下。谢谢!
作者: apang    时间: 2012-2-18 19:39

  1. @echo off&setlocal enabledelayedexpansion
  2. pushd "%~dp0"&set n=0
  3. if not exist data md data 2>nul
  4. for /f "delims=" %%a in ('dir /a-d /b /s *.jpg') do (
  5. set/a n+=1
  6. if exist "%%~na_ansi.txt" copy "%%a" data\!n!.txt&copy %%~na_ansi.txt data\!n!.jpg
  7. )
复制代码
试试
作者: vsbat    时间: 2012-2-18 19:42

本帖最后由 vsbat 于 2012-2-19 12:28 编辑
  1. @echo off
  2. md data 2>nul
  3. setlocal enabledelayedexpansion
  4. set n=0
  5. for %%i in (*.jpg) do (
  6.          set "x=%%~ni"
  7.          set "x=!x:~0,-1!"
  8. set /a n += 1
  9. copy "%%i" "data\!n!.jpg"
  10. copy "!x!_ANSI.txt" "data\!n!.txt"
  11. )
  12. pause
复制代码

作者: HAT    时间: 2012-2-19 09:11

回复 3# vsbat


等号两边为何要加空格?
作者: vsbat    时间: 2012-2-19 12:27

回复  vsbat


等号两边为何要加空格?
HAT 发表于 2012-2-19 09:11



    写C写的代码格式习惯了。。。
  唉~~~ bat 这个不能加空格~ Thks




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2