user4929
user4929

Reputation: 11

My batch code for zipping a folder using 7zip works in command line but not my .bat

Today I tried out creating a bat to automate a process I have to do all the time.

One problem I have is this code, where I try to create an achieve from a folder and all its subfolders and have it appear in the folder I ran the .bat from. (The same folder where the folder to be zipped is located.)

C:\Users\Ann>7za a -tzip Things.zip C:\"Users\Ann\Desktop\Stuff and things\things\"

Now this works just fine if I use cmd to run it (it creates the Things.zip in the Users directiory, where 7za.exe is located), but not in my .bat. Instead, when I run my .bat script it creates a 0 KB file called simply "7za" in the folder I ran the .bat from.

Can someone tell me why this is? I've read through most everything I could find on the topic and I'm not sure what I'm doing wrong here. Help would greatly be appreciated.

Upvotes: 1

Views: 4588

Answers (1)

Scott C
Scott C

Reputation: 1660

Your bat file shouldn't look like:

C:\Users\Ann>7za a -tzip Things.zip C:\"Users\Ann\Desktop\Stuff and things\things\"

You're redirecting output > from trying to run c:\users\ann to 7za a -tzip... I expect the created file is something like 'ann' is not recognized as an internal or external command... The bat file should just be:

@7za a -tzip Things.zip "C:\Users\Ann\Desktop\Stuff and things\things\"

If your bat file is in a different directory to c:\users\ann then before the 7za line, run cd c:\users\ann

Upvotes: 1

Related Questions