Expiring Today—Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Move files from directory to directory with .BAT-File

Posted on 2009-05-08
8
Medium Priority
?
341 Views
Last Modified: 2012-05-06
Hi everyone,

I'm not that familiar with DOS and .BAT-Files. Thats the reason for this post. And i hope some one can help me solve this problem.

There is an Internet application where operators check check documents. Before that the operators check, the documents go trough 2 recognition engines. If the engines detect an ERROR they documents are placed in an map (maps or numbered from 1 to 200) in a special ERROR directory (see figure 1). The documents in the ERROR directory, must go back in the pipeline. I cant cut and paste, because that not efficient and there are parameters that need to be positive (see Figure 2). They have to be moved from ERROR to a special map into the input directory PDF. This map is also numbered from 1 to 200 (see Figure 3).

Parameters:
*User needs to give up an START and END date. Only the documents in that period need to be replaced.

*The minimum size of the documents. There or files of 0 Kb and those files need to stay in the error directory.

*Must give the amount that can be moved to a map into the PDF\1 map. For example the maximum of documents a map or 4000 documents. If the 4000 has been retched the next 4000 must bee moved to PDF\2 and so on.

*In a .TXT file must keep a log with the following information. Wich files have been copied and when.
Structure---ERROR-Directory.JPG
Documents-in-ERROR-Dir.JPG
Move-from-ERROR-dir-to-PDF.JPG
0
Comment
Question by:DonOetje
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 71

Expert Comment

by:Qlemo
ID: 24334738

@echo off
setlocal EnableDelayedExpansion
 
cd /D D:\Textkernel\Pipeline\xt_input
 
set /P dtstart=Start date in mm/dd/yyyy: 
set /P dtend=End date in mm/dd/yyyy: 
 
REM convert mm/dd/yyyy in yyyymmdd
set dtstart=%dtstart:~-4%%dtstart:~-10,2%%dtstart:~-7,2%
set dtend=%dtend:~-4%%dtend:~-10,2%%dtend:~-7,2%
 
set /P minsize=Minimum of size in Bytes: 
 
echo ---- from %dtstart% to %dtend%, size ^> %minsize% ---- >> logfile.txt
 
set cnt=0
set fld=1
for /F "tokens=*" %%F in ('dir *.pdf*') do if %%~zF GTR %minsize% (
  set dt=%%~tF
  set dt=!dt:~0,-6%
  set dt=!dt:~-4!!dt:~-10,2!!dt:~-7,2!
  if !dt! GEQ %dtstart% if !dt! LEQ %dtend% (
    set /A cnt+=1
    if !cnt! GTR 4000 set /A fld+=1& set cnt=0
    move %%F pdf\!fld!\
    echo %%F >>logfile.txt
  )
)

Open in new window

0
 
LVL 31

Expert Comment

by:Wayne Barron
ID: 24334789
this is something that I did for another user.
http:Q_24330834.html#a24232677  --- Instructions for running it on a schedule.
http:Q_24330834.html#a24165351 --- Code here

This uses RoboCopy.

Good Luck
Carrzkiss
0
 
LVL 31

Expert Comment

by:Wayne Barron
ID: 24334816
Never mind my post.
It can probably do what you need, but not without a lot of work.
I hope that the information from: Qlemo:
Will do what you need, it looks like it will.

Good Luck
Carrzkiss
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:DonOetje
ID: 24334878
Qlemo: Thank you for your solution. Butt i have a question. Where do you set the ERROR and PDF directory. The files must be moved vroom ERROR to PDF.

In your script i see in line 4 the main directory. "cd /D D:\Textkernel\Pipeline\xt_input". In the for loop you give the wildcard *.pdf, this will search for all the docs in ERROR an in PDF. That is not suppose to happen.

Hope you understand what i mean.
0
 
LVL 71

Expert Comment

by:Qlemo
ID: 24335517
I understand well. And you are partitially right, I forgot to use the ERROR folder. The code above will not do anything, as it will search in xt_input only, no subdirs.+
Replace line 19 with


for /F "tokens=*" %%F in ('dir *.pdf*') do if %%~zF GTR %minsize%

Open in new window

0
 
LVL 71

Accepted Solution

by:
Qlemo earned 200 total points
ID: 24335523
Sorry, paste error. Again:

for /F "tokens=*" %%F in ('dir ERROR\*.pdf*') do if %%~zF GTR %minsize%

Open in new window

0
 

Author Comment

by:DonOetje
ID: 24336087
Thank you very much! It works well! At least if the date is well converted. The date can be written in two ways. mm/dd/yyyy an dd-mm-yyyy. That one of the reasons it didn't work.

On Server 2003 the date will always be written like this: mm/dd/yyyy?

Qlemo thank you very much for your solution!
0
 

Author Closing Comment

by:DonOetje
ID: 31579362
Thank you for providing me a solution. I tested the script on a XP machine with the date set as dd-mm-yyyy, on the server the date is set as mm/dd/yyyy. I think that there must be a date check, to be sure that the right conversion will be used.
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've always wanted to allow a user to have a printer no matter where they login. The steps below will show you how to achieve just that. In this Article I'll show how to deploy printers automatically with group policy and then using security fil…
VALIDATING DATES One method of validating dates is to jam the date into the DATE command and see if it accepts it by examining the system's errorlevel value. A non-zero result indicates failure. A typical example might look something like the fol…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question