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

[文件操作] 如何复制当前批处理所在目录下与唯一的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 编辑 ]

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

@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

TOP

返回列表