Board logo

标题: [文件操作] 如何复制当前批处理所在目录下与唯一的exe同名的txt到指定目录 [打印本页]

作者: ya913767    时间: 2009-4-6 16:33     标题: 如何复制当前批处理所在目录下与唯一的exe同名的txt到指定目录

目的:想把bat所在目录,与*.exe同名的*.txt文件拷贝到指定目录并编号命名
问题代码:copyFile.bat
@echo off
set num=0
for /f "delims=" %%i in ('dir /a-d /b *.exe') do (
    if not exist "e:\data\" (
        echo "e:\data"不存在
        echo 即将创建"e:\data"   
        md "e:\data"&&echo 成功创建文件夹"e:\data\"||echo 创建文件夹"e:\data\"失败
        ::copy "%%i" e:\data>nul&&echo 复制文件"%%i"成功||else echo 复制文件"%%i"成功失败
    ) else call :copy_txt "%%i" "%%~ni" %%~xi
)
pause
goto :eof

:copy_txt
set file_n=%2
set "file_n=%file_n:~1,-1%"
::set file_x=%3
set file_x=.txt
set /a num+=1
if not exist "e:\data\%file_n%%num%%file_x%" (
    copy %1 "e:\data\%file_n%%num%%file_x%">nul&&echo 复制文件"%file_n%%num%"成功||else echo 复制文件"%file_n%%num%"成功失败
) else call :copy_txt %1 "%file_n%" %file_x%
set num=0
goto :eof

求有心人给改一下

[ 本帖最后由 ya913767 于 2009-4-6 20:24 编辑 ]
作者: lxb1117    时间: 2009-4-20 13:48

随便改了一下,凑和能用,我也是刚学的

@echo off
::复制当前bat所在目录下与唯一的exe同名的txt到指定目录
for /f "delims=" %%i in ('dir /a-d /b *.exe') do (
if not exist "e:\data\" (
echo "e:\data"不存在
echo 即将创建"e:\data")
md "e:\data" && echo 成功创建文件夹"e:\data\"||echo 创建文件夹"e:\data\"失败
copy "%%~ni.txt" e:\data>nul&&echo 复制文件"%%~ni.txt"成功||else echo 复制文件"%%~ni.txt"成功失败)
pause




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