• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 309
  • Last Modified:

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

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
HaywardTyler
Asked:
HaywardTyler
1 Solution
 
RobSampsonCommented:
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
 
HaywardTylerAuthor Commented:
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
 
skullnobrainsCommented:
i think the environment var %PROFILESFOLDER% should contain the proper location whatever the windows version
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
Martin LissRetired ProgrammerCommented:
I've requested that this question be deleted for the following reason:

Not enough information to confirm an answer.
0
 
RobSampsonCommented:
At this stage, I believe my script in comment ID: 39968267 meets the user requirement.
0
 
skullnobrainsCommented:
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

 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

Tackle projects and never again get stuck behind a technical roadblock.
Join Now