Re: Need Help with a DOS script (if possible)



Nope, even on a local drive, exactly the same thing happens, only quicker...

Displays message that is going to Check
Press any key
Lists Directory
Press any key
Closes Command Prompt

"Kardon Coupé" <prefer.to@xxxxxxxxxxxxxxxxx> wrote in message
news:%23s8P6u%23PJHA.4084@xxxxxxxxxxxxxxxxxxxxxxx
Tried that, and it didn't echo the delete command, it just sat there a
second or two after the last 'press any key' and then closed the command
prompt window. so I thought i'd try replacing the %Target%, etc in the
script line, with the actually values, and tried to run it direct in the
command prompt (which I don't know wether you can or can't), and I got the
response..

%%a was unexpected at this time.

I'm just going to copy the files from the server over to a local drive and
see it is works on that, maybe it is an issue with working from a network
drive?

"Pegasus (MVP)" <I.can@xxxxxxxxxx> wrote in message
news:%23Kosho9PJHA.1448@xxxxxxxxxxxxxxxxxxxxxxx
The trick here is to approach the problem one step at a time. Run this
batch file this time:

@echo off
set Target=\\Server\Server F Drive\Need to Sort
set ext=.xls .doc
echo Checking the target folder xxx%Target%yyy
pause
dir /b /s /a-d "%Target%"
pause
for /F "delims=" %%a in ('dir /b /s /a-d "%Target%" ^| findstr /v /i
"%ext%"') do echo del "%%a" & pause

The program won't attempt to delete any files but it will echo the full
"delete" command to the screen, then pause. Now do this:
1. Press Ctrl+C to stop the batch file.
2. Examine the command carefully. Is it correct? If not, what's wrong?
3. Retype the command manually, letter by letter. Does it work? If not,
why not?


"Kardon Coupé" <prefer.to@xxxxxxxxxxxxxxxxx> wrote in message
news:uxgKaW7PJHA.1164@xxxxxxxxxxxxxxxxxxxxxxx
It correctly displayed the directory in the command window, but failed
to delete all 'other' files.

"Pegasus (MVP)" <I.can@xxxxxxxxxx> wrote in message
news:umh1ge5PJHA.3884@xxxxxxxxxxxxxxxxxxxxxxx
Fine. Now run your script like so:
@echo off
set Target=\\Server\Server F Drive\Need to Sort
set ext=.xls .doc
echo Checking the target folder xxx%Target%yyy
pause
dir /b /s /a-d "%Target%"
pause
for /F "delims=" %%a in ('dir /b /s /a-d "%Target%" ^| findstr /v /i
"%ext%"') do del "%%a"

The script will do a basic "dir" command on your target. Nothing flash,
nothing fancy. It will then pause. Does it generate the expected
output? If no then your folder name \\Server\Server F Drive\Need to
Sort is incorrect. Perhaps it has an invisible trailing space.



"Kardon Coupé" <prefer.to@xxxxxxxxxxxxxxxxx> wrote in message
news:ORVUm84PJHA.1168@xxxxxxxxxxxxxxxxxxxxxxx
@echo off
set Target=\\Server\Server F Drive\Need to Sort
set ext=.xls .doc
echo %Target%
echo %ext%
for /F "delims=" %%a in ('dir /b /s /a-d "%Target%" ^| findstr /v /i
"%ext%"') do del "%%a"

Like I said, I added in echo's for the command prompt.

"Pegasus (MVP)" <I.can@xxxxxxxxxx> wrote in message
news:eW3lKFzPJHA.3884@xxxxxxxxxxxxxxxxxxxxxxx
Let's have a look at your version of the script!

"Kardon Coupé" <prefer.to@xxxxxxxxxxxxxxxxx> wrote in message
news:e7y7ZBzPJHA.420@xxxxxxxxxxxxxxxxxxxxxxx
I think I might be doing something wrong, I see the CMD window pop
up, but it is too quick, and the files are still there....

So I opened up Command Prompt and ran it from there, and I got "File
Not Found", I'm thinking it is something to do with working on a
Network Drive.

I added in echo %Target% and echo %ext% just to see whether it was
only taking part of the folder because of the spaces, and it was
outputing the full foldername??

Will this work on either network drives, or drives that have been
mapped to a letter... also if the folder name has spaces in?

Sorry to be a pain...
Regards
Paul.

"Pegasus (MVP)" <I.can@xxxxxxxxxx> wrote in message
news:eKPjqjyPJHA.5076@xxxxxxxxxxxxxxxxxxxxxxx

"Kardon Coupé" <prefer.to@xxxxxxxxxxxxxxxxx> wrote in message
news:e6cANByPJHA.4504@xxxxxxxxxxxxxxxxxxxxxxx
Dear All,

I'm looking for a way using a DOS batch file to take a folder and
search everything within it, and delete every file except files
with a .xls or a .doc extension, also work recursively within the
folder, so if any subfolders are found it will deal with them too.

Is it possible, I'm usually the end person who receives files from
work and all I need is the .xls and .doc files, nothing else...

Is this possible... Ideally, I would like to right click on the
folder and use the 'SendTo' option and have the shortcut to the
batch file in there..

I've tried looking around Google (etc) for 3rd party software, but
nothing has jumped out at me (maybe I'm putting the wrong search
terms in)

Hope someone can help me with this matter as I'm no good using
DOS...

Thanks in advance.
Regards
Paul.

Unfortunately DOS cannot do this sort of thing. But then DOS is a
legacy operating system introduced some 30 years ago that is only
rarely used these days. However, you can easily perform the task
with a few Command Console commands under Windows XP. Here is a
batch file solution for you:
@echo off
set Target=D:\My Documents
set ext=.xls .doc
for /F "delims=" %%a in ('dir /b /s /a-d "%Target%" ^| findstr /v
/i "%ext%"') do echo del "%%a"

Do not retype the file - use copy & paste instead. Note that the
fourth line is a long line. It starts with [for] and ends with [del
"%%a"].

You must adjust lines 2 and 3 to suit your specific requirements.
To activate the batch file, remove the word "echo" in line 4.

















.



Relevant Pages

  • RE: Locating corrupt driver
    ... This article describes the functionality and limitations of the Windows ... Create and format partitions on drives. ... MB of hard disk space on your system partition to hold the Cmdcons folder ... Windows NTBoot Console Command Interpreter. ...
    (microsoft.public.win2000.applications)
  • Re: Need Help with a DOS script (if possible)
    ... within the folder, to the level of the last file in the last folder. ... were meant to run the batch file with the "echo" command in place in the ... It never did but you removed the "echo" command regardless. ...
    (microsoft.public.windowsxp.general)
  • Re: Need Help with a DOS script (if possible)
    ... is within the folder, to the level of the last file in the last folder. ... were meant to run the batch file with the "echo" command in place in the ... It never did but you removed the "echo" command regardless. ...
    (microsoft.public.windowsxp.general)
  • Re: How can I get all folders to show date modified?
    ... I can't understand how it can have an invalid path since I just put in the command to copy and they are there. ... I check and in my J:\ Cookies folder I have a file backup.bat the first one I tried that didn't work. ... @echo off ... remove "nospam" in order to email me. ...
    (microsoft.public.windowsxp.general)
  • Re: Need Help with a DOS script (if possible)
    ... were meant to run the batch file with the "echo" command in place in the ... It never did but you removed the "echo" command regardless. ... echo Checking the target folder xxx%Target%yyy ...
    (microsoft.public.windowsxp.general)

Loading