Solved

Batch file question

Posted on 2013-01-15
6
531 Views
Last Modified: 2013-01-29
so I have the following command that works at the command prompt
 
sqlite3 mydb.db < udpate.txt

or

sqlite3 mydb.db < reset.txt

because I have to do this often for testing I want to batch these commands.

When I do the command line interpreter reads the < as a less than sign and puts a 0 infront.  So my actual script file appears now as:
sqlite3 mydb.db 0< udpate.txt

Anyone know how to have this interpreted correctly?

thanks
0
Comment
Question by:bschiel
6 Comments
 
LVL 12

Expert Comment

by:duttcom
Comment Utility
You could try escaping the less-than sign with three carets -

sqlite3 mydb.db ^^^< udpate.txt
0
 
LVL 14

Expert Comment

by:ThomasMcA2
Comment Utility
The redirect arrow (<) is a common DOS method. I've been writing DOS batch files for over 20 years, and I've never seen that behavior. Are you sure it's not your text editor adding that extra character? Can you remove the extra character in your text editor? Try these ideas:

From a DOS prompt, type the contents of your batch file to the screen:
type your_batch.bat

Open in new window

Is the character displayed on the screen?

If you have echo off or @echo off at the top of your script, comment it out with REM, then try again. The script will echo each command on the screen. Is the extra character still there?

If you still can't get rid of the extra character, attach your batch script to your reply.
0
 

Author Comment

by:bschiel
Comment Utility
I rewrote the batch file using copy con and get the same results.  

I will try the ^^^ route in the morning and report back.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 51

Accepted Solution

by:
Bill Prew earned 100 total points
Comment Utility
The 0< is just how the command interpretter expands the < redirection symbol. There are a number of special handles that can be used, as referenced here:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

In your batch file though, you can put the same thing you are typing at a command prompt that is working, as in below, there should be no need to do anything more than that.

@echo off
sqlite3 mydb.db < reset.txt

Open in new window

Of course this assumes that reset.txt is in the current directory when the BAT file runs, so if that isn't the case then you may want to add a PUSHD or CD to the BAT script, or fully qualify the file name(s) it uses.

~bp
0
 
LVL 14

Expert Comment

by:ThomasMcA2
Comment Utility
Nice reference, Bill, I bookmarked that.

My point is that although 0 represents keyboard input, there is no automated process that replaces < with 0<, thereby breaking redirection.

After rereading the OP, it looks like the 0 is part of the script:
So my actual script file appears now as:
sqlite3 mydb.db 0< udpate.txt

If so, just delete the 0, save the script, then rerun it.

If that doesn't fix it, please attach screenshots of the problem. Include the following screenshots:
1) The script itself, opened in Notepad
2) The "type" command that displays the script in the console
3) The command prompt where you run the script so we can see the results and/or errors

Tom
0
 

Author Comment

by:bschiel
Comment Utility
So it turns out that the sqlite program solves this issue for me.  Just found out there is a switch on the exe that solves this problem.  sqlite3 -echo will use the stdout to display the commands feed to it.  So now I see exactly what I want to see and can verify what I am feeding my DB when i combine it with the @echo off.

Thanks all.
0

Featured Post

The curse of the end user strikes again      

You’ve updated all your end user’s email signatures. Hooray! But guess what? They’re playing around with the HTML, adding stupid taglines and ruining the imagery. Find out how you can save your signatures from end users today.

Join & Write a Comment

Recently Microsoft released a brand new function called CONCAT. It's supposed to replace its predecessor CONCATENATE. But how does it work? And what's new? In this article, we take a closer look at all of this - we even included an exercise file for…
NTFS file system has been developed by Microsoft that is widely used by Windows NT operating system and its advanced versions. It is the mostly used over FAT file system as it provides superior features like reliability, security, storage, efficienc…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …

728 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

13 Experts available now in Live!

Get 1:1 Help Now