一个朋友打电话提了个简单需求,在excel里有报货单文件和对应文件夹的关系,然后把对应的报货单复制到对应的文件夹下
想了想,还是用bat做了下,减少重复性工作
代码如下
@echo off
echo 自动创建文件夹
set /p SourceDir=待处理的出货报货单所在的文件夹:
set /p SourceFileSuffix=出货报货单的后缀名(输入的时候别忘记.,例如.txt .pdf等):
set /p ConnectTxt=对应关系的txt:
set /p TargetDir=最终生成地址:
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1,2 delims=;" %%i in (%ConnectTxt%) do (
set TargetFile=%%i
set SourceFile=%%j
echo 待处理的出货报货单: %SourceDir%\!SourceFile!%SourceFileSuffix%
echo 目标文件夹:%SourceDir%\!TargetFile!
if exist "%TargetDir%\!TargetFile!" (
echo 目录已存在,无需创建
copy "%SourceDir%\!SourceFile!%SourceFileSuffix%" "%TargetDir%\!TargetFile!"
) else (
echo 目录不存在,创建
md "%TargetDir%\!TargetFile!"
copy "%SourceDir%\!SourceFile!%SourceFileSuffix%" "%TargetDir%\!TargetFile!"
)
)
pause
1.将excel的报货单及对应文件夹复制到记事本里,复制后记事本内容为
报货单文件夹;报货单
报货单文件夹2;报货单2
文件夹和报货单以分号分割,保存这个对应关系记事本
2.运行bat,按要求输入对应信息
3.成功