Solved

Batch File To Add and Remove Files from Multiple Locations in a Mixed Enviroment

Posted on 2014-03-31
8
296 Views
Last Modified: 2014-05-04
Hi Experts,

We are migrating our business application to another server, as a result the following changes need to be applied to all PC's:

Shortcut Links to be added on Desktop (3)
Config files to be placed in applications config directory which will link to the shortcuts applied to the desktop
Start Menu Folder to be added which includes the shortcuts added to the desktop
Original Start Menu folder to be deleted

Now I have network shares put in place which includes the client config and the shortcuts, I have run the following batch file which has worked successfully for adding the shortcuts on the desktop:

@echo off
setlocal
set UserRoot=C:\Documents and settings
REM *** Process all profile folders:
for /d %%a in ("%UserRoot%\*.*") do call :process "%%a"
:: *** subroutine 'process' starts here:
:process
set UserFolder=%~1
echo Processing %UserFolder% ...
REM *** %UserFolder% now contains the folder name currently being processed.
REM *** Add your backup/deletion code between this line and the "goto :eof" at the end:
cd "%UserFolder%\Desktop\"
cd "%UserFolder%\Desktop\"
If exist "%UserFolder%\Desktop\Epicor2*" goto finish
copy "\\htukdc1\IT$\Epicor\Shortcuts\*" "%userprofile%\desktop\"
goto :eof

We are currently in a mixed environment with a combination of windows XP and Windows 7 machines, running both x86 and X64 operating systems.

I am not to savvy with scripting and was wondering whether it would be possible to enhance the script above to perform all actions required, windows 7 variables do not match up too well with XP variables and this has caused me grief :-(

Ideally I would like a single logon script to perform the above actions, your help is much appreciated, thanks in advance!

Regards,
0
Comment
Question by:HaywardTyler
[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
8 Comments
 
LVL 65

Accepted Solution

by:
RobSampson earned 500 total points
ID: 39968267
Hi, I would think something like this is all you would need, which just checks for C:\Users (typically only exists on Windows 7 machines) and sets the UserRoot accordingly.

@echo off
setlocal
IF EXIST "C:\Users"
(
set UserRoot=C:\Users
)ELSE(
set UserRoot=C:\Documents and settings
)
REM *** Process all profile folders:
for /d %%a in ("%UserRoot%\*.*") do call :process "%%a"
:: *** subroutine 'process' starts here:
:process
set UserFolder=%~1
echo Processing %UserFolder% ...
REM *** %UserFolder% now contains the folder name currently being processed.
REM *** Add your backup/deletion code between this line and the "goto :eof" at the end:
cd "%UserFolder%\Desktop\" 
cd "%UserFolder%\Desktop\" 
If exist "%UserFolder%\Desktop\Epicor2*" goto finish
copy "\\htukdc1\IT$\Epicor\Shortcuts\*" "%UserFolder%\desktop\"
goto :eof

Open in new window


Regards,

Rob.
0
 

Author Comment

by:HaywardTyler
ID: 39968743
Hi Rob,

Thanks for your assistance, the above meets requirement 1, a colleague of mine advises that Dell Kace may be the answer to my problems, so will talk it through with him to attempt to find solution before I look at using a logon script.
0
 
LVL 27

Expert Comment

by:skullnobrains
ID: 39971669
i think the environment var %PROFILESFOLDER% should contain the proper location whatever the windows version
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 47

Expert Comment

by:Martin Liss
ID: 40026335
I've requested that this question be deleted for the following reason:

Not enough information to confirm an answer.
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 40026336
At this stage, I believe my script in comment ID: 39968267 meets the user requirement.
0
 
LVL 27

Expert Comment

by:skullnobrains
ID: 40040420
won't work for a seven machine migrated from xp for example : the c:\users folders will exist but the accounts will be located in documents and settings.
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

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

You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
A quick step-by-step overview of installing and configuring Carbonite Server Backup.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

732 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