Solved

use variable file name in directory and process that file in batch command

Posted on 2013-01-25
4
458 Views
Last Modified: 2013-01-25
I want to look at a directory and process (print) the random TIFF files that appear. The problem is that names are not uniform, they could be just about anything in a tiff extension.

So how do I parse the contents of a directory into a variable and process that variable? There may be more than one TIFF file waiting to be processed, I can loop it until there is nothing else to process.

I would be using the
     rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_PrintTo /pt "c:\faxes\faxmessage.tiff" "\\corporate\printername" "" ""
comamnd to print the tiff files.

Thanks,
Chuck
0
Comment
Question by:fcbc
  • 3
4 Comments
 
LVL 43

Expert Comment

by:Steve Knight
ID: 38819154
The for command is what you want.  You can either iterate down files using plain for

@echo off
cd /d C:\faxes
for %%a in (*.tif?) do (
  rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_PrintTo /pt "%%~fa" "\\corporate\printername"
  echo Do something else with the file "%%~a", full name is "%%~fa"
)

or read a directory listing such as

@echo off
for /f %%a in ('dir /b /a-d *.tif?') do (
   echo Filename is %%~a
)

I presume you might want to do a move command after the print too?

The %%a is abritary and case sensitive, use %%T or %%t or whatever if you prefer.
the ~ means remove any " " around the filename, in case it has spaces etc. it is better to remove then add yourself.
You can add qualifiers to the %%~a to get (f = full filename, n=name, x=extension etc.)

for /? explains more.

Steve
0
 
LVL 43

Accepted Solution

by:
Steve Knight earned 500 total points
ID: 38819160
I used *.tif? btw in case you have .tif or .tiff files.

Steve
0
 

Author Comment

by:fcbc
ID: 38819604
wow - WORKS FANTASTIC.

If anyone else tries this, just have a minor correction to above:
rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_PrintTo /pt "%%~fa" "" ""

you will need those extra 2 sets of quotes at the end of the line.

Thank you for your quick response!
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 38819629
no problem for is very powerful command and used a lot around here... for /? set /? has lots of useful stuff, or ask here if needed.

stevev
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…

746 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now