Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8976577
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T19:10:46+00:00 2026-06-15T19:10:46+00:00

I need to make a condition for unzipping a file using batch. The method

  • 0

I need to make a condition for unzipping a file using batch.

The method is as follows:
If dummy=1, the batch will unzip an xlsx file to a particular folder, else , it will copy another xlsx file directly to that folder.

my code is as follows:

set dummy=1

If %dummy% EQU 1 (
SET CHEMIN=C:\file_to_unzip
cd %CHEMIN%
for /f %%j in ('dir /b %CHEMIN%\*.zip') do (
C:\PROGRA~1\WinZip\Winzip32 -min -e -o -j %CHEMIN%\%%j %CHEMIN%
) 
COPY "C:\file_to_unzip\*.xlsx" "C:\destination" 
) else (
COPY "C:\file_to_copy\*.xlsx" "C:\destination"
)

The problem is that without the IF condition, the unzip command will work properly. But once the IF condition is included, the cmd will say that the zip file cannot be found. I am not sure what causes this issue and how to solve this.

Any help appreciated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T19:10:48+00:00Added an answer on June 15, 2026 at 7:10 pm

    Do you have delayed expansion enabled? setlocal enabledelayedexpansion
    With your example code above, the failure will occur due to the CHEMIN variable being set within the if statement. If a variable is set within a parentheses scope, the new value set for that variable will not be available until the all the sub scopes have ended. Run the following script to see what I mean:

    @echo off
    set "xValue=1"
    echo.%xValue%
    if 1 EQU 1 (
        set "xValue=2"
        echo.%xValue%
        echo.!xValue!
    )
    

    If delayed expansion is disabled (which it is by default), the results will be

    1
    1
    1
    

    if enabled, add setlocal enabledelayedexpansion at the beginning

    1
    1
    2
    

    Try your script as follows. To use

    setlocal enabledelayedexpansion
    
    set dummy=1
    
    If %dummy% EQU 1 (
        SET CHEMIN=C:\file_to_unzip
        cd !CHEMIN!
        for /f %%j in ('dir /b !CHEMIN!\*.zip') do (
            C:\PROGRA~1\WinZip\Winzip32 -min -e -o -j !CHEMIN!\%%j !CHEMIN!
        )
        COPY "C:\file_to_unzip\*.xlsx" "C:\destination" 
    ) else (
        COPY "C:\file_to_copy\*.xlsx" "C:\destination"
    )
    

    Another solution would be to just move the set CHEMIN=C:\file_to_unzip line outside of the if statement.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using ASP.NET with C# and I need to make the condition of
I'm using the following rule for my input: callback_validate_host I need to make the
I need to make a condition with PHP that checks if an image is
I'm reading from a file and parsing its contents. I need to make sure
I need make some action (dump statistical data) before the Dart program ends. The
I need make all of my posts update. I use bulk upload for store,
Need to make certain Ruby strings in my program to be immutable. What is
I need to make a administrative GUI with lots of functionality like lists, forms,
I need to make a moderate system like the one in fmylife.com. Basically the
I need to make a point in time branch, when we release a new

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.