Solved

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

Posted on 2013-01-25
4
463 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
[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
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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Suggested Solutions

YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
AutoHotkey is an excellent, free, open source programming/scripting language for Windows. It started out as a keyboard/mouse macros product, but has expanded into a robust language. This article provides an introduction to it, with links to addition…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.
Suggested Courses

739 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