Help needed with creating a script

This is what I try to achieve:
Creating sequentially numbered files (any files) by dragging the original to a folder.
It should work like this:
drag a file ( i.e. myphoto.jpg) to a folder and the script attached to that folder would duplicate the file and number it (myphoto001.jpg)
I can't get it to work... does anyone know of a ready-made script or is willing to advise on how-to?
Thanks for feedback.

Hello
Here's some script you may try.
(Copy code from this web page, not from subscribed email text, for I escaped some characters for posting.)
Broadly speaking, it will do what you wish. But not exactly as you described.
A few things to note.
• It will rename file 'image1.jpg' to 'image1.001.jpg', e.g., (note period between 'image1' and '001') in order to make script simple.
(If the file name is 'image1' without extension, it will be renamed to, e.g., 'image1.001._' by adding dummy extension '_' in order to make script simple and consistent)
• It will move the file that is drag-n-dropped to the Folder Actioned folder A to an inner sub-folder B and rename the file in B. This is because renaming file in A will trigger the Folder Action, which detects renamed file as newly added file (under OSX), that is problematic.
• If the following script is used as Folder Action, you'll have to drag-n-drop the file with option key down to copy it to the Folder Actioned folder. Without option key held down, the original file will be moved to the folder.
(If the source and destination volumes are different, drag-n-drop will copy the file and there will be no need to use option key. E.g. If Folder Actioned folder resides in an external volume and original files are in an internal volume, simple drag-n-drop will copy the files.)
Please see comments in script for more details.
Hope this may help.
H
--SCRIPT
  Assumptions and behaviours:
    1) The destination folder B where renamed items are stored is in a root folder A.
      • A is determined as the folder where this Folder Action is attached or this droplet resides; and
      • B's name is given as property destinationFolderName in main().
    2) Target file F is moved to B and renamed such that -
      if original name of F is "P.R" (P = name stem, R = extension) and
      the max seq. number in name of the file(s) in B which has the same name stem and extension as F is M,
      F is renamed as "P.Q.R", where Q = M + 1.
      • Number format is given as property numberFormat in main().
      e.g. File named "name1.jpg" will be renamed to "name1.003.jpg",
        if file named "name1.002.jpg" in destination has the max seq. number with the same name stem and extension.
  Usage:
    1) As Folder Action,
      • save this as compiled script and attached it to folder A; and
      • drag-n-drop target files into A and it will move them in folder B and rename them as intended.
      (Use option-drag-n-drop (i.e. copy, not move) to keep the original file or it will be moved and renamed.)
    2) As droplet,
      • save this as application (or application bundle) in folder A; and
      • drag-n-drop target files onto the droplet and it will duplicate them to folder B and rename them as intended.
      (Exception. If target files are in A, they will be moved, not copied, to folder B.)
on adding folder items to da after receiving aa
main(da, aa)
end adding folder items to
on open aa
tell application "Finder" to set da to container of (path to me) as alias
main(da, aa)
end open
on main(ra, aa)
  alias ra : root folder
  list aa : items to be processed
script o
property destinationFolderName : "Renamed items"
property numberFormat : "000" -- seq. number will be 001, 002, etc (if n > 999, use n as is)
property nlen : count numberFormat
property nmax : (10 ^ nlen - 1) as integer
property xx : {}
property astid : a reference to AppleScript's text item delimiters
property astid0 : astid's contents
property NL : return
property errs1 : NL & NL & "This item will be left as is in: " & NL & NL
property errs2 : NL & NL & "This item will be left as: " & NL & NL
property btt1 : {"OK"}
on decomp(s)
  string s : name string to decompose
  return list : {name stem, sequential number string, name extension}
  e.g. Given s : result
    "name1.001.jpg" : {"name1", "001", "jpg"}
    "name1.jpg" : {"name1", {}, "jpg"} -- [*]
    "name1" : {"name1", {}, {}}
    "name1..jpg" : {"name1", "", "jpg"} -- [*]
    "name1.name2.001.jpg" : {"name1.name2", "001", "jpg"}
    "name1.name2.jpg" : {"name1.name2", {}, "jpg"}
  [*] Note different meanings of {} and "" in result list
local n, p, q, r
try
if s = "" then return {{}, {}, {}}
set astid's contents to {"."}
set s to s's text items
tell s to set {n, r} to {reverse's rest's reverse, item -1}
if n = {} then set {n, r} to {s, {}}
tell n to set {p, q} to {reverse's rest's reverse, item -1}
if p = {} then set {p, q} to {n, {}}
try
q as number
set p to "" & p
on error
set {p, q} to {"" & (p & q), {}}
end try
set astid's contents to astid0
on error errs number errn
set astid's contents to astid0
error "decomp():" & errs number errn
end try
return {p, q, r}
end decomp
on nextname(n)
  string n : source name
  property xx : names in pool
  property numberFormat, nlen, nmax: number format string, its length, max value respectively
  return string : new name with next sequential number
  e.g.
    Provided that n = "name1.jpg" and the name that has max seq. number
     with the same stem and extension as n in destination folder is "name1.005.jpg",
     resurt = "name1.006.jpg"
local p, q, r, a, b, c, b1
set {p, q, r} to decomp(n)
if r = {} then set r to "_" -- give dummy extension if none (to handle it correctly)
set b1 to 0
repeat with x in my xx
set x to x's contents
if x starts with p then
set {a, b, c} to decomp(x)
if {a, c} = {p, r} then
set b to 0 + b
if b > b1 then set b1 to b
end if
end if
end repeat
set b1 to b1 + 1
if b1 > nmax then
return p & "." & b1 & "." & r
else
return p & "." & (numberFormat & b1)'s text -nlen thru -1 & "." & r
end if
end nextname
try
set da to (ra as Unicode text) & destinationFolderName & ":" as alias
on error -- da not present
tell application "Finder" to ¬
set da to (make new folder at ra with properties {name:destinationFolderName}) as alias
end try
--set my xx to list folder da without invisibles -- this is faster but 'list folder' is deprecated in AS2.0.
tell application "Finder" to set my xx to name of items of da as vector -- [1]
  [1] Finder (at least under OS9) returns [] (empty linked list) when returning empty list.
  This will cause error -10006 in 'set end of my xx to ...' statement, for linked list does not support it.
  The explicit 'as vector' will handle this case.
repeat with a in aa
set a to a's contents
--set n to (info for a)'s name -- this is faster but 'info for' is deprecated under OSX10.5
tell application "Finder" to set n to a's name
if n = destinationFolderName then -- ignore it
else
set {n1, _step} to {nextname(n), 0}
tell application "Finder"
set sa to a's container as alias
-- move or duplicate
try
if sa = ra then
(* when run as Folder Action (or as droplet with items in ra) *)
set a1 to (move a to da) as alias
else
(* when run as droplet with items outside ra *)
set a1 to (duplicate a to da) as alias
end if
set _step to 1
on error errs number errn
(* name conflict, etc *)
display dialog errs & " " & errn & errs1 & sa buttons btt1 ¬
default button 1 with icon 2 giving up after 15
end try
-- rename
try
if _step = 1 then set {a1's name, _step} to {n1, 2}
on error errs number errn
(* name conflict, invalid name, etc; not probable but possible *)
display dialog errs & " " & errn & errs2 & a1 buttons btt1 ¬
default button 1 with icon 2 giving up after 15
end try
end tell
if _step = 2 then set end of my xx to n1
end if
end repeat
end script
tell o to run
end main
--END OF SCRIPT
Message was edited by: Hiroto (fixed typo)

Similar Messages

  • Help needed with creating Flash game

    Hello,
    I need to create Flash educational/quiz game for one of my clients. It would be based on concept like these ones for example:
    Example 1
    http://go.ucsusa.org/game/
    Example 2
    http://www.zdravlje.hr/igre/stop-aids/
    Note: when you open this link you will see two text boxs which you first must fill. On the left side text box "Upišite ime" means "Type your name" and right one "Upišite godinu svog rođenja" means "Year of birth"
    What is interesting about this type of games is that they are classic games (for example game Labirint where you have to find way out), but during play pop-up questions starts to appear to test end user knowledge abot certain topic (in example 2 topic is about AIDS/HIV). In case of my client, topic is about Eco environment.
    Here is where my trouble starts;) : I found many useful free tutorials how to create simple flash game (most interesting example I found is this one http://www.strille.net/tutorials/snake/index.php)  BUT I dont know how make that system of popup questions appear during game similar to Example 1 and Example 2?
    Any help is appreciated and thanks in advance for promt reply.
    Greetings,
    Adnan

    Update: I have just read all instructions in Snake tutorial which helped be better realize how Snake game works.
    a) This is what I plan to realize for my client:
    1. Snake game which end users will play and during play pop-up/quiz quesions will appear on topic Eco environment;
    2. For example when end user earns 50 points he must answer some of the random questions like "Q:How many ton of waste are produced by US livestock each year" with three answers A1: "1 milion" A2: "1 bilion" A3: "2 bilion" and after user scores 100 points then another question pops up and so on. This is all true if all answers are correct but in case he answer some question wrong than game can start from begining or another solution could be he looses -50 or -100 points.
    3. At the end, user which gains most points wins.
    b) This is what I have done till now:
    I have this file http://www.strille.net/tutorials/snake/snakeGameWithHighscore.zip which I partly understand how it works with my Flash knowladge.
    All functions and main game engine is in layer code:
    "// Snake Game by Strille, 2004, www.strille.net
    blockSize = 8;   // the block width/height in number of pixels
    gameHeight = 30; // the game height in number of blocks
    gameWidth  = 45; // the game width in number of blocks
    replaySpeed = 1;
    SNAKE_BLOCK = 1; // holds the number used to mark snake blocks in the map
    xVelocity = [-1, 0, 1, 0]; // x velocity when moving left, up, right, down
    yVelocity = [0, -1, 0, 1]; // y velocity when moving left, up, right, down
    keyListener = new Object(); // key listener
    keyListener.onKeyDown = function() {
        var keyCode = Key.getCode(); // get key code
        if (keyCode > 36 && keyCode < 41) { // arrow keys pressed (37 = left, 38 = up, 39 = right, 40 = down)...
            if (playRec) {
                if (keyCode == 37 && replaySpeed > 1) {
                    replaySpeed--;
                } else if (keyCode == 39 && replaySpeed < 10) {
                    replaySpeed++;
            } else if (game.onEnterFrame != undefined) { // only allow moves if the game is running, and is not paused
                if (keyCode-37 != turnQueue[0]) { // ...and it's different from the last key pressed
                    turnQueue.unshift(keyCode-37); // save the key (or rather direction) in the turnQueue
        } else if (keyCode == 32) { // start the game if it's not started (32 = SPACE)
            if (!gameRunning || playRec) {
                startGame(false);
        } else if (keyCode == 80) { // pause/unpause (80 = 'P')
            if (gameRunning && !playRec) {
                if (game.onEnterFrame) { // pause
                    delete game.onEnterFrame; // remove main loop
                    textMC.gotoAndStop("paused");
                } else { // exit pause mode
                    game.onEnterFrame = main; // start main loop
                    textMC.gotoAndStop("hide");
    Key.addListener(keyListener);
    function startGame(pRec) {
        x = int(gameWidth/2); // x start position in the middle
        y = gameHeight-2;     // y start position near the bottom
        map = new Array(); // create an array to store food and snake
        for (var n=0;n<gameWidth;n++) { // make map a 2 dimensional array
            map[n] = new Array();
        turnQueue = new Array(); // a queue to store key presses (so that x number of key presses during one frame are spread over x number of frames)
        game.createEmptyMovieClip("food", 1); // create MC to store the food
        game.createEmptyMovieClip("s", 2); // create MC to store the snake
        scoreTextField.text = "Score: 0"; // type out score info
        foodCounter = 0; // keeps track of the number of food movie clips
        snakeBlockCounter = 0; // keeps track of the snake blocks, increased on every frame
        currentDirection = 1; // holds the direction of movement (0 = left, 1 = up, 2 = right, 3 = down)
        snakeEraseCounter = -1; // increased on every frame, erases the snake tail (setting this to -3 will result in a 3 block long snake at the beginning)
        score = 0; // keeps track of the score
        ticks = lastRec = 0;
        recPos = recFoodPos = 0;
        playRec = pRec;
        if (!playRec) {
            textMC.gotoAndStop("hide"); // make sure no text is visible (like "game over ")
            highscores.enterHighscoreMC._visible = false;
            statusTextField.text = "";
            recTurn = "";
            recFrame = "";
            recFood = "";
            game.onEnterFrame = main; // start the main loop
        } else {
            if (loadedRecordingNumber != -1) {
                var n = getLoadedRecordingNumberHighscorePos(loadedRecordingNumber);
                statusTextField.text = "Viewing " + highscores[n].name.text + "'s game (score " + highscores[n].score.text + ")";
            } else {
                statusTextField.text = "Viewing your game";
            game.onEnterFrame = replayMain; // start the main loop
        placeFood("new"); // place a new food block
        gameRunning = true; // flag telling if the game is running. If true it does not necessarily mean that main is called (the game could be paused)
    function main() { // called on every frame if the game is running and it's not paused
        if (playRec) {
            if (ticks == lastRec+parseInt(recFrame.charAt(recPos*2)+recFrame.charAt(recPos*2+1), 36)) {
                currentDirection = parseInt(recTurn.charAt(recPos));
                lastRec = ticks;
                recPos++;
        } else if (turnQueue.length) { // if we have a turn to perform...
            var dir = turnQueue.pop(); // ...pick the next turn in the queue...
            if (dir % 2 != currentDirection % 2) { // not a 180 degree turn (annoying to be able to turn into the snake with one key press)
                currentDirection = dir; // change current direction to the new value
                recTurn += dir;
                var fn = ticks-lastRec;
                if (fn < 36) {
                    recFrame += " "+new Number(fn).toString(36);
                } else {
                    recFrame += new Number(fn).toString(36);
                lastRec = ticks;
        x += xVelocity[currentDirection]; // move the snake position in x
        y += yVelocity[currentDirection]; // move the snake position in y
        if (map[x][y] != SNAKE_BLOCK && x > -1 && x < gameWidth && y > -1 && y < gameHeight) { // make sure we are not hitting the snake or leaving the game area
            game.s.attachMovie("snakeMC", snakeBlockCounter, snakeBlockCounter, {_x: x*blockSize, _y: y*blockSize}); // attach a snake block movie clip
            snakeBlockCounter++; // increase the snake counter
            if (map[x][y]) { // if it's a not a vacant block then there is a food block on the position
                score += 10; // add points to score
                scoreTextField.text = "Score: " + score; // type out score info
                snakeEraseCounter -= 5; // make the snake not remove the tail for five loops
                placeFood(map[x][y]); // place the food movie clip which is referenced in the map map[x][y]
            map[x][y] = SNAKE_BLOCK; // set current position to occupied
            var tailMC = game.s[snakeEraseCounter]; // get "last" MC according to snakeEraseCounter (may not exist)
            if (tailMC) { // if the snake block exists
                delete map[tailMC._x/blockSize][tailMC._y/blockSize]; // delete the value in the array m
                tailMC.removeMovieClip(); // delete the MC
            snakeEraseCounter++; // increase erase snake counter   
        } else { // GAME OVER if it is on a snake block or outside of the map
            if (playRec) {
                startGame(true);
            } else {
                gameOver();
            return;
        ticks++;
    function replayMain() {
        for (var n=0;n<replaySpeed;n++) {
            main();
    function gameOver() {
        textMC.gotoAndStop("gameOver"); // show "game over" text
        delete game.onEnterFrame; // quit looping main function
        gameRunning = false; // the game is no longer running
        enterHighscore();
    function placeFood(foodMC) {
        if (playRec) {
            var xFood = parseInt(recFood.charAt(recFoodPos*3)+recFood.charAt(recFoodPos*3+1), 36);
            var yFood = parseInt(recFood.charAt(recFoodPos*3+2), 36);
            recFoodPos++;
        } else {
            do {
                var xFood = random(gameWidth);
                var yFood = random(gameHeight);
            } while (map[xFood][yFood]); // keep picking a spot until it's a vacant spot (we don't want to place the food on a position occupied by the snake)
            if (xFood < 36) {
                recFood += " "+new Number(xFood).toString(36);
            } else {
                recFood += new Number(xFood).toString(36);
            recFood += new Number(yFood).toString(36);
        if (foodMC == "new") { // create a new food movie clip
            foodMC = game.food.attachMovie("foodMC", foodCounter, foodCounter);
            foodCounter++;
        foodMC._x = xFood*blockSize; // place the food
        foodMC._y = yFood*blockSize; // place the food
        map[xFood][yFood] = foodMC; // save a reference to this food movie clip in the map
    //- Highscore functions
    loadHighscores();
    enterHighscoreKeyListener = new Object();
    enterHighscoreKeyListener.onKeyDown = function() {
        if (Key.getCode() == Key.ENTER) {
            playerName = highscores.enterHighscoreMC.nameTextField.text;
            if (playerName == undefined || playerName == "") {
                playerName = "no name";
            saveHighscore();
            Key.removeListener(enterHighscoreKeyListener);
            Key.addListener(keyListener);
            highscores.enterHighscoreMC._visible = false;
            loadedRecordingNumber = -1;
            startGame(true);
    function enterHighscore() {
        if (score >= lowestHighscore) {
            highscores.enterHighscoreMC._visible = true;
            highscores.enterHighscoreMC.focus();
            Key.removeListener(keyListener);
            Key.addListener(enterHighscoreKeyListener);
        } else {
            loadedRecordingNumber = -1;
            startGame(true);
    function getLoadedRecordingNumberHighscorePos(num) {
        for (var n=0;n<10;n++) {
            if (num == highscores[n].recFile) {
                return n;
    function loadHighscores() {
        vars = new LoadVars();
        vars.onLoad = function(success) {
            for (var n=0;n<10;n++) {
                var mc = highscores.attachMovie("highscoreLine", n, n);
                mc._x = 5;
                mc._y = 5+n*12;
                mc.place.text = (n+1) + ".";
                mc.name.text = this["name"+n];
                mc.score.text = this["score"+n];
                mc.recFile = parseInt(this["recFile"+n]);
            lowestHighscore = parseInt(this.score9);
            if (!gameRunning) {
                loadRecording(random(10));
            delete this;
        if (this._url.indexOf("http") != -1) {
            vars.load("highscores.txt?" + new Date().getTime());
        } else {
            vars.load("highscores.txt");
    function loadRecording(num) {
        vars = new LoadVars();
        vars.onLoad = function(success) {
            if (success && this.recTurn.length) {
                recTurn = this.recTurn;
                recFrame = this.recFrame;
                recFood = this.recFood;
                startGame(true);
            } else {
                loadRecording((num+1)%10);
                return;
            delete this;
        loadedRecordingNumber = num;
        if (this._url.indexOf("http") != -1) {
            vars.load("rec"+loadedRecordingNumber+".txt?" + new Date().getTime());
        } else {
            vars.load("rec"+loadedRecordingNumber+".txt");
    function saveHighscore() {
        sendVars = new LoadVars();
        for (var n in _root) {
            if (_root[n] != sendVars) {
                sendVars[n] = _root[n];
        returnVars = new LoadVars();
        returnVars.onLoad = function() {
            if (this.status == "ok") {
                loadHighscoresInterval = setInterval(function() {
                    loadHighscores();
                    clearInterval(loadHighscoresInterval);
                }, 1000);
            delete sendVars;
            delete this;
        sendVars.sendAndLoad("enterHighscore.php", returnVars, "POST");
    function startClicked() {
        if (!gameRunning || playRec) {
            if (highscores.enterHighscoreMC._visible) {
                Key.removeListener(enterHighscoreKeyListener);
                Key.addListener(keyListener);
                highscores.enterHighscoreMC._visible = false;
            startGame(false);
    function viewGame(lineMC) {
        loadRecording(lineMC.recFile);
        statusTextField.text = "Loading " + lineMC.name.text + "'s game...";
    Now what is left to do is somehow to iclude educational quiz in this game/code. First idea that came to me is same thing Ned suggested: to create some unique movie clip which would contain all data/questions lined up but main problem for me is how to "trigger" that movie clip to play only AFTER end user clicks on "Start game" or SPACE to restart? Not sure how to solve this issue?

  • Help needed with Popcorn Island Script

    Hey all, I am trying to use this script so I can transfer over my FCP files to AE. I have watched the tutorial but it doesn't show you how to install the script. I'm asked for a language and I'm not sure what I need to be using or where to go from there. The link for the download is below if it helps.
    Anyone with experience in this that can help is greatly appreciated.
    http://www.popcornisland.com/after-effects/final-cut-2-after-effects/
    Cheers
    GK

    Just move the script into the relevant AE script folder. You will see the script in the dropdown list when you select File/Scripts within AE.
    You don't need to "run" the script outside of AE. (The only reason I can think that you have been asked for a language is that you have double-clicked on the script and opened the programme, ExtendScript Toolkit. There's no reason to do this.)
    Frank

  • Help needed with creating HTML email in Dreamweaver

    Hi everyone, would really appreciate some help with a dilemma or two that I have.
    I have created the following newsletter in Dreamweaver and uploaded it to our website:
    http://www.nova-design.co.uk/sales/000030.html
    Now, when I go into my email mass mailing client (Handymailer) and send a test out, I encounter a couple of problems.
    Firstly, in Outlook when I receive the email, the grey table on the right of the eshot, is crushed and a lot of the single line text is forced to go over two lines...
    Secondly, in Hotmail, the table displays fine, but it does say that "This message is too wide to fit your screen.  Show full message."
    Once I click "Show full message" it displays in full, but I then need to scroll across to the middle of the browser to view the email.
    If I left align the newsletter will this problem be solved?  Or is there a way in Dreamweaver that I can edit the entire page size so that it's not too wide?
    The table is 600px wide so I assumed that any email sent out would shrink to this size.
    Any help would be greatly appreciated!  This is the first full HTML email I have sent out so it's going to be far from perfect!

    mozza34 wrote:
    I need to look into using inline css styles, I have no idea how to so need to read up on those.
    I created a transparent GIF and placed it, but that moves my text down because the image is in the way?  Am I doing that right?
    Make the transparent gif 1px high.
    Is it the links in the right column that go onto two lines? If so that could be because the links are wider than the actual column itself..so you will have to make column wider.
    If you can't sort it, have  a look at the code below, copy and paste into a new Dreamweaver document and test out. Inline css styling is used in the code below. I've masked your email so no spam bots get hold of it.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    </head>
    <body style="background-color: #CCC;">
    <table width="600" border="0" cellspacing="0" cellpadding="0" style="margin: 0 auto;">
    <tr>
    <td width="412" style="font-family: arial, helvetica, sans-serif; font-size: 12px; padding: 10px 10px; background-color: #fff; vertical-align: top;">
    <table width="392" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td style="text-align: center;"><img src="http://www.nova-design.co.uk/images/novalogo.jpg" alt="Nova Design" width="208" height="155" align="top" /></td>
    </tr>
    </table>
    <p style="font-size: 16px; font-weight: bold;">September 2011 Update</p>
    <p>Welcome to our September 2011 Newsletter!  Keeping you up to date with all things Nova Design.</p>
    <p><strong>New Addition</strong></p>
    <p>We would like to welcome to our team Kieran Duggal.  Kieran joins us from Schneider Electric and will be placed into a newly created recruitment role within the company.</p>
    <p>With the contracting side of our business growing, Kieran will be looking after all things recruitment.</p>
    <p>If you are currently looking for work in the field of engineering design, or if you are looking to take on contract or permanent design engineers, feel free to contact Kieran for a chat about current possibilities.</p>
    <p> Kieran Duggal - Recruitment Executive<br />
          <a href="mailto:[email protected]" style="color: #000;">
          [email protected]</a><br />
        01384 405 977</p>
        <p><strong>Social Media</strong></p>
        <p>Further expanding our Social Media horizons, we have decided to create a group on LinkedIn.  Here we will be listing current vacancies and allowing people from the engineering world to take part in various discussions.  Please make sure to join our group, as we will be looking to develop it over the coming months.</p>
        <p><strong>Revamped Design Team</strong></p>
        <p>We have recently taken on several enthusiastic, highly skilled graduates.  We feel our current team of design engineers is stronger than ever, with a healthy mix of vast experience and youth.  We are constantly searching for the best engineering talent in order to consistently provide our clients with high quality levels of work.</p>
        <p><strong>Summary</strong></p>
        <p>2011 has been a busy, exciting year so far and long may it continue.  Our clients are what make us, and we would like to thank those of you who have placed business with us in the past.</p></td>
    <td width="158" style="font-family: arial, helvetica, sans-serif; font-size: 12px; padding: 0 10px; background-color: #333; vertical-align: top;"><img src="../images/novalogo.jpg" alt="Nova Design" width="168" height="1" align="top" />
    <p style="color: #fff;">
    <strong>Nova Design Ltd</strong><br />
    Watt House<br />
    Innovation Centre<br />
    Pensnett Trading Estate<br />
    Kingswinford<br />
    West Midlands<br />
    DY6 7YD</p>
    <p style="color: #fff;">T: +44 (0)1384 400 044<br />
    F: +44 (0)1384 400 090</p>
    <p style="color: #fff;">W: <a href="http://www.nova-design.co.uk" style="color: #fff;" target="_blank">www.nova-design.co.uk</a><br />
    E: <a href="mailto:[email protected]" style="color: #fff;">[email protected]</a></p>
    <table width="168" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td style="vertical-align: middle; padding: 7px 0; font-size: 12px;"><a href="http://www.facebook.com/novadesignuk" target="_blank"><img src="http://www.nova-design.co.uk/images/facebook.gif" alt="Facebook" width="25" height="25" align="absmiddle" style="border: none;" /></a> <a href="http://www.facebook.com/novadesignuk" style="color:#fff;" target="_blank">Facebook</a></td>
    </tr>
    <tr>
    <td style="vertical-align: middle; padding: 7px 0; font-size: 12px;"><a href="http://twitter.com/novadesignuk" target="_blank"><img src="http://www.nova-design.co.uk/images/twitter.gif" alt="Twitter" width="25" height="25" align="absmiddle" style="border: none;"/></a> <a href="http://twitter.com/novadesignuk" style="color:#fff;" target="_blank">Twitter</a></td>
    </tr>
    <tr>
    <td style="vertical-align: middle; padding: 7px 0; font-size: 12px;"><a href="http://www.linkedin.com/groups?about=&gid=4002529&trk=anet_ug_grppro" target="_blank"><img src="http://www.nova-design.co.uk/images/linkedin.gif" alt="LinkedIn" width="25" height="25" align="absmiddle" style="border: none;"/></a> <a href="http://www.linkedin.com/groups?about=&gid=4002529&trk=anet_ug_grppro" style="color:#fff;" target="_blank">LinkedIn</a></td>
    </tr>
    <tr>
    <td style="vertical-align: middle; padding: 7px 0; font-size: 12px;"><a href="http://www.nova-design.co.uk/blog/?feed=rss2" target="_blank"><img src="http://www.nova-design.co.uk/images/rss.gif" alt="RSS" width="25" height="25" align="absmiddle" style="border: none;" /></a> <a href="http://www.nova-design.co.uk/blog/?feed=rss2" style="color:#fff;" target="_blank">RSS Feeds</a></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </body>
    </html>

  • Help needed with a PS script for network share documentation

    I found a nice PS script that will do what I want, however the output portion seems to be broken. It will output the permissions and details, but not list what share it is referring to... Can anyone help with this?
    Thanks!
    https://gallery.technet.microsoft.com/scriptcenter/List-Share-Permissions-83f8c419#content
    <# 
               .SYNOPSIS  
               This script will list all shares on a computer, and list all the share permissions for each share. 
               .DESCRIPTION 
               The script will take a list all shares on a local or remote computer. 
               .PARAMETER Computer 
               Specifies the computer or array of computers to process 
               .INPUTS 
               Get-SharePermissions accepts pipeline of computer name(s) 
               .OUTPUTS 
               Produces an array object for each share found. 
               .EXAMPLE 
               C:\PS> .\Get-SharePermissions # Operates against local computer. 
               .EXAMPLE 
               C:\PS> 'computerName' | .\Get-SharePermissions 
               .EXAMPLE 
               C:\PS> Get-Content 'computerlist.txt' | .\Get-SharePermissions | Out-File 'SharePermissions.txt' 
               .EXAMPLE 
               Get-Help .\Get-SharePermissions -Full 
    #> 
    # Written by BigTeddy November 15, 2011 
    # Last updated 9 September 2012  
    # Ver. 2.0  
    # Thanks to Michal Gajda for input with the ACE handling. 
    [cmdletbinding()] 
    param([Parameter(ValueFromPipeline=$True, 
        ValueFromPipelineByPropertyName=$True)]$Computer = '.')  
    $shares = gwmi -Class win32_share -ComputerName $computer | select -ExpandProperty Name  
    foreach ($share in $shares) {  
        $acl = $null  
        Write-Host $share -ForegroundColor Green  
        Write-Host $('-' * $share.Length) -ForegroundColor Green  
        $objShareSec = Get-WMIObject -Class Win32_LogicalShareSecuritySetting -Filter "name='$Share'"  -ComputerName $computer 
        try {  
            $SD = $objShareSec.GetSecurityDescriptor().Descriptor    
            foreach($ace in $SD.DACL){   
                $UserName = $ace.Trustee.Name      
                If ($ace.Trustee.Domain -ne $Null) {$UserName = "$($ace.Trustee.Domain)\$UserName"}    
                If ($ace.Trustee.Name -eq $Null) {$UserName = $ace.Trustee.SIDString }      
                [Array]$ACL += New-Object Security.AccessControl.FileSystemAccessRule($UserName, $ace.AccessMask, $ace.AceType)  
                } #end foreach ACE            
            } # end try  
        catch  
            { Write-Host "Unable to obtain permissions for $share" }  
        $ACL  
        Write-Host $('=' * 50)  
        } # end foreach $share
    This is what the output looks like when ran with 'RemoteServer' | .\Get-SharePermissions.ps1 | Out-File 'sharepermissions.xls'
    FileSystemRights  : Modify, Synchronize
    AccessControlType : Allow
    IdentityReference : Everyone
    IsInherited       : False
    InheritanceFlags  : None
    PropagationFlags  : None

    Actually it is not being written only with Write-Host.  The last line of the loop is this "$ACL"  which ius an array of objects. 
    Here is a version that gets the info more easily and produces flexible objects.  It should be easier to modify into what is needed.
    # Get-ShareSec.ps1
    [cmdletbinding()]
    param(
    [Alias('ComputerName')]
    [Parameter(
    ValueFromPipelineByPropertyName=$True
    )]$Name=$env:COMPUTERNAME
    Process {
    Write-Verbose "Computer=$name"
    $shares =Get-WMiObject Win32_Share -ComputerName $name -Filter 'Type=0' -ea 0
    foreach($share in $shares){
    $sharename=$share.Name
    Write-Verbose "`tShareName=$sharename"
    $ShareSec = Get-WMIObject -Class Win32_LogicalShareSecuritySetting -Filter "name='$ShareName'" -ComputerName $name
    try {
    foreach ($ace in $ShareSec.GetSecurityDescriptor().Descriptor.DACL) {
    $props=[ordered]@{
    ComputerName=$name
    ShareName=$sharename
    TrusteeName=$ace.Trustee.Name
    TrusteeDomain=$ace.Trustee.Domain
    TrusteeSID=$ace.Trustee.SIDString
    New-Object PsObject -Property $props
    catch {
    Write-Warning ('{0} | {1} | {2}' -f $Computer,$sharename, $_)
    Get-Adcomputer -Filter * | .\Get-ShareSec.ps1 -v
    ¯\_(ツ)_/¯

  • Help Needed With a Backup Script

    I am writing a DNS server backup script with additional options. 
    Backing Up DNS Server Daily
    Create a folder based on current date
    Copy the backup from source to newly created folder based on date
    Complicated part (well, for me anyway :) )
    keeping current month's backup (30 different copies/Folder of backup for each day)
    Create a folder every calender month and and copy all 30 copies of backups within this folder
    Email Results of copying process either success or failed
    So Far i have the following which covers half of what is required! 
    $date = Get-Date -Format yyyyMMdd
    New-Item C:\dnsbk\DNSBackup$date -ItemType Directory
    $1st = Export-DnsServerZone -Name test.ac.uk -Filename backup\test.ac.uk.bk
    $2nd = Export-DnsServerZone -Name _msdcs.test.ac.uk -FileName backup\_msdcs.test.ac.uk.bk
    $source = "C:\windows\system32\dns\*"
    $destination = "C:\dnsbk\DNSBackup$date"
    $copy = Copy-Item -Recurse $source $destination
    $successSubject = "Backup Completed Successfully"
    $SuccessBody = "$1st,$2nd,$copy" <<<<<< This does not work >>>>>
    Send-MailMessage -From "[email protected]" -To "[email protected]" -Subject $successSubject -SmtpServer 192.168.0.1 -Body $SuccessBody

    Hi IM3th0,
    If you want to confirm whether the copy operation run successfully and pass the result to the variable $SuccessBody, please try the script below:
    $copy = Copy-Item -Recurse $source $destination -PassThru -ErrorAction silentlyContinue
    if ($copy) { $SuccessBody="copy success" }
    else { $SuccessBody="Copy failure"}
    Reference from:
    how to capture 'copy-item' output
    If you want to remove the other 29 copies and keep the lastest one, please filter the 29 copies based on lastwritetime:
    $CLEANUP = (Get-DATE).AddDays(-30)
    $CLEANUP1 = (Get-DATE).AddDays(-1)
    Get-ChildItem | %{
    if($_.lastwritetime -gt $CLEANUP -and $_.lastwritetime -lt $CLEANUP1){
    Remove-Item $_.fullname -whatif}
    If I have any misunderstanding, please let me know.
    I hope this helps.

  • Help needed with amending a script

    I am trying to amend an Apple Script (called Narcolepsy) that forces insomniac Macs to go to sleep when the normal energy saving prefs do not work as with my G4MDD. The script, as it stands, works perfectly. The G4 now sleeps as it should. What I want the script to do is not send my Mac to sleep when Super Duper! is running which I've scheduled to do every day. I've amended the original script that prevented sleep if EyeTV is recording to the following - except this doesn't work. All I actually did was substitute "SuperDuper!" for "EyeTV' under the tell application command thingy.
    --Stay awake if SuperDuper! is playing or recording
    tell application "SuperDuper!"
    if it is running then
    if «class Plng» is true then return nextCheck * 60
    if «class IRcd» is true then return nextCheck * 60
    end if
    end tell
    What I should change it to?

    You don't have the full script, so I can't see what the rest of it is doing.
    However, it seems to me that it's likely that SuperDuper! does not know what the Ping and IRcd classes are.
    You could try just putting this before everything else in your script. It will pause processing for a minute at a time whilst an application is still running. In this example, I have used Address Book (which you'll need to change to SuperDuper!) and a dialog to show what happens when you close the app, but you can remove that last line.
    tell application "System Events"
    set ProcessList to (name of every process)
    repeat while ProcessList contains "Address Book"
    delay 60
    set ProcessList to (name of every process)
    end repeat
    end tell
    display dialog "Address Book just Closed"

  • Help needed with creating a new site- having Spry folder issue

    I can not create a new DreamWeaver CS5 site - I get a warning message that the Spry assets folder is not inside the site & to select a valid folder in the local root directory. I've tried creating a folder to no avail, thus can not create the site. Help is appreciated.

    One option if you're a Mac: Is your hard drive named?
    http://forums.adobe.com/thread/654548
    Try also:
    http://forums.adobe.com/thread/672446

  • New To Java Coding, Help NEEDED With a little script

    Well im just working on a script with an open uni course im doing, ive dont the script i was asked to do, but i was wondering if i could expand it abit more
    * The DaylesGod class implements an application that
    * simply prints "Dayles God!" to standard output.
    class DaylesGod {
        public static void main(String[] args) {
            System.out.println("Dayle is GOD!"); // Display the string.
    }thats what i have at the moment, i use cmd-cd C:\java
    C:\java>java DaylesGod
    Dayle is GOD
    I was wondering if i could get it to display diffrent messages on diffrent lines? e.g
    * The DaylesGod class implements an application that
    * simply prints "Dayles God!" to standard output.
    class DaylesGod {
        public static void main(String[] args) {
            System.out.println("Dayle is GOD!"); // Display the string.
            System.out.println("Dayle is GOD!");
            System.out.println("Dayle is GOD!");
    }

    Dayle wrote:
    Could you please give me an example of what that may look like please?
    //New Wow
    class Wow { //File Name
    public static void main(String[] args) {
    System.out.println("Wow");
    System.out.println("Wow");
    }This code executes fine in Jcreator, but only once, it wont type ''Wow'' Twice? Not to sure what to do, it wont run in cmd properly, want multiple ''Wows'' on seprate lines. If possible? Thank you :) and i will get in touch with shrink ha.That should print
    Wow
    WowAre you sure you're not having a problem with Jcreator or whatever you're viewing the output with? You might try executing this from the command line. There's no reason you can't do that.
    Remember, System.out.println(x) is equivalent to System.out.print(x + '\n').

  • [SOLVED] help needed with active window script

    I am trying to receive the current window from a script. it works fine, but when no window is open i get an error.
    i am using this command:
    xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME | cut -d '=' -f 2 | cut -b 1-2 --complement | rev | cut -c 2- | rev
    error message is "Invalid Window id format: 0x0"
    I tried working around this by using this script:
    #!/bin/bash
    title_window () {
    xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME | cut -d '=' -f 2 | cut -b 1-2 --complement | rev | cut -c 2- | rev
    title_root () {
    title_window | grep 0x0
    if [[ -z title_root ]]
    then
    title_window
    else
    echo "Desktop"
    fi
    But now it shows "Desktop" for every window.
    Last edited by Rasi (2013-01-22 11:59:46)

    solved.
    solution:
    #!/bin/bash
    title_window () {
    xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME | cut -d '=' -f 2 | cut -b 1-2 --complement | rev | cut -c 2- | rev 2>&1
    title_root () {
    title_window |& grep -q 0x0
    if title_root;
    then
    echo "Desktop"
    else
    title_window
    fi

  • Help needed with creating this "Fur" brush in CS6

    Hi,
    In steps 4 and 5 here, the author is creating a new Fur brush. However I can't do this in CS 6 as almost all the options in the Shape Dynamics tab are disabled:
    Any ideas what am I doing wrong or how can this be done in CS 6?
    Thanks.

    Are you definitely using the sampled brush tip?

  • Help needed with UCCX script

    Hi
    I need to create a script that will play back the name of the selected agent to the caller before being connected to the user. I have a simple queueing script setup ,just need the portion to play back the name
    Any help will be appreciated

    Hi,
    Play Prompt Step
    Use the Play Prompt step to play back specified prompts to the caller.
    Note :When any previous escalating prompt in the script enters the Play Prompt step, it is reset to the first
    prompt in its list.
    The customizer window of the Play Prompt step contains three tabs:
    • General tab (Play Prompt step)
    • Prompt tab (Play Prompt step)
    • Input tab (Play Prompt step)
    Prompt tab (Play Prompt step)
    Use the Prompt tab of the Play Prompt customizer window to specify the prompt to be played back, and
    to set the Barge In and Continue on Prompt Errors options.
    Figure 2-99 1Play Prompt Customizer Window—Prompt Tab
    Table 2-83 Play Prompt Properties—Prompt Tab
    Properties / Buttons Description
    Prompt Variable or expression indicating which prompt is to be played.
    Please refer page 129 in the Cisco Unified Contact Center Express Editor Step Reference Guide,
    http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_8_5/programming/guide/uccx851_step_ref.pdf
    Hope it helps.
    Anand
    Please rate helpful posts !!

  • Help needed with this form in DW

    Hi, i have created this form in dreamweaver but ive got this problem.
    In the fields above the text field, the client needs to fill in some info such as name, email telephone number etc.
    But the problem is when ill get the messages. Only the text from the large text field is there.
    What did i do wrong??
    http://www.hureninparamaribo.nl/contact.html
    Thank you
    Anybody??

    Thank you for your response. So what do i have to do to fix this?
    Date: Sun, 20 Jan 2013 07:57:56 -0700
    From: [email protected]
    To: [email protected]
    Subject: Help needed with this form in DW
        Re: Help needed with this form in DW
        created by Ken Binney in Dreamweaver General - View the full discussion
    You have several duplicate "name" attributes in these rows which also appears in the first row
    Telefoon:
    Huurperiode:
    Aantal personen:
         Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/5008247#5008247
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/5008247#5008247
         To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/5008247#5008247. In the Actions box on the right, click the Stop Email Notifications link.
         Start a new discussion in Dreamweaver General by email or at Adobe Community
      For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

  • Help needed with header and upload onto business catalyst

    Can someone help with a problem over a header please?
    I have inserted a rectangle with a jpeg image in  background, in the 'header' section, underneath the menu. It comes up fine on most pages when previsualised, going right to the side of the screen, but stops just before the edge on certain pages. I have double checked that I have placed it in the right place in relation to the guides on the page.
    That's one problem.
    The second problem is that I tried to upload onto business catalyst, which got to 60% and refused to go any further, saying it couldn't find the header picture, giving the title and then u4833-3.fr.png. The picture is in the right folder I have double checked. And it isn't a png. Does it have to be ?
    And the third problem is that I got an email following my upload from business catalyst in Swedish. I am living in France.
    Can anyone help ? Thanks.

    Thanks for replying,
    How can I check the preview in other browsers before I publish a provisional site with BC?
    The rectangle width issue happens on certain pages but not others. The Welecom page is fine when the menu is active, also the contact page, but others are slightly too narrow. Changing the menu spacing doesn’t help - I was already on uniform but tried changing to regular and back.
    In design mode the rectangle is set to the edge of the browser, that’s 100%browser width right?
    Re BC I have about 200 images on 24 different pages and it seems to be having difficulty uploading some of them. But it has managed a couple I named with spaces but not others I named with just one name.
    Is there an issue on size of pictures ? If I need to replace is there a quick way to rename and relink or do I have to insert the photos all over again?
    I’m a novice with Muse with an ambitious site !
    Thanks for your help.
    Mary Featherstone
    Envoyé depuis Courrier Windows
    De : Sanjit_Das
    Envoyé : vendredi 14 février 2014 22:15
    À : MFeatherstone
    Re: Help needed with header and upload onto business catalyst
    created by Sanjit_Das in Help with using Adobe Muse CC - View the full discussion 
    Hi
    Answering the questions :
    - Have you checked the preview in Muse and also in other browsers ?
    - Does the rectangle width issue happens when menu is active , or in any specific state , Try to change the menu with uniform spacing and then check.
    - In design view the rectangle is set to 100% browser width ?
    With publishing :
    - Please try to rename the image file and then relink
    - If it happens with other images as well , see if all the image names includes strange characters or spaces.
    - Try again to publish
    With e-mail from BC :
    - Under preferences , please check the country selected.
    - If you have previously created partner account in BC and selected country and language then it would follow that, please check that.
    Thanks,
    Sanjit
    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/6121942#6121942
    Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/6121942#6121942
    To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/6121942#6121942. In the Actions box on the right, click the Stop Email Notifications link.
    Start a new discussion in Help with using Adobe Muse CC at Adobe Community
    For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0.

  • Help needed with a design!

    HELP! I need help with designing something!
    IMAGE on this link " http://i1072.photobucket.com/albums/w362/jjnilsson/DSC_0188.jpg "
    i need this patch on the picture to be "remade" in higher definition and the text should be MILF HUNTERS intstead of milf hunter... Anyone that might be able to help me out?
    reson for all this is that its gonna be made to a 30x40cm big patch fitting the back of our Team jackets!
    send me a pm or a mail ([email protected]) if you need any futher info or if you can help me out! I am really thankful for all the help i can get!
    With best regards J. Nilsson, Milf Hunters Mc

    I simply did as i got a tip on FB to do
    quote from adobe themselves on facebook "Adobe Illustrator You might also want to try asking on our forums as there are many people that can help there as well! http://forums.adobe.com/community/illustrator/illustrator_general"
    sry if it was wrong of me, simply thought there might be someone nice out there to give a helping hand
    Date: Tue, 5 Jun 2012 13:41:48 -0600
    From: [email protected]
    To: [email protected]
    Subject: Help needed with a design!
        Re: Help needed with a design!
        created by in Illustrator - View the full discussion
    This really isn't the place to ask for free services.
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/4467790#4467790
         To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/4467790#4467790. In the Actions box on the right, click the Stop Email Notifications link.
         Start a new discussion in Illustrator by email or at Adobe Forums
      For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

Maybe you are looking for