Re: WinXP Batch File ???
- From: Twanny <msuser@xxxxxxxxxxx>
- Date: Sun, 10 Jul 2005 05:24:02 -0700
David, plse see my reply after the dividing line
--
Twanny
"David Candy" wrote:
> You can write batch files to edit desktop.ini. I don't know what you know. It makes it hard. Describe what you want to do if you post back. All I know is you want to change icons - but to what etc.
============================
Basically it is this ...
For easy recognition, all folders in my data are assigned an Icon.
The Desktop.ini files in each folder point to a specific Folder in which all
my icons are stored, which is never moved, so that the icons are always
visible in Explorer View.
What baffles me is that in moving or copying data folders, the icon is not
always visible, even after an F5 refresh. The Desktop.ini file are copied, but
the icons are still not visible. This requires the laborious right-clicking
each folder Properties, change Icon etc. Then and only then the icons are
visible again.
(N.B. this usually happens when copying files either from a CD/DVD or from a
Windows Briefcase, to another folder)
If the path to the icon is correct and the ini file is present, why does
this happen?
============================================
>
> But you could make new desktop.ini and copy them over, you could read the lines in one by one and change the icon one and write it back.
>
> Look at the For command. It does 92,000 different functions, 1 is reading files. Here's an example echoing every line in a file
> FOR /F "usebackq tokens=1* delims=" %i in ("C:\Documents and Settings\David Candy\Desktop\Unzip.vbs") do @echo %i
>
>
> It's easy to add a batch command to a r/c memu for a folder. See www.mvps.org/serenitymacros/rightclick.html for examples. Plenty of vbscript examples there too.
>
> http://msdn.microsoft.com/scripting is vb docs (you already have everything installed but the docs).
>
> Here is my keyboard macro tutorial. But you can use it with right click as the hotkey part I just refer you to read 1 paragraph in help - it's the script that is non trivial.
>
> Tip. Right click the system menu (the icon in titlebar) for a menu for the open folder.
>
> I've also attached my keyboard reference.
>
> ============================================
> Create a text file and paste these lines in and name it WhateverYouWant.vbs. In this example it cuts and pastes between two windows. See below for sendkeys docs.
>
>
> set WshShell = WScript.CreateObject("WScript.Shell")
> WshShell.SendKeys "%{TAB}^c%{TAB}^v"
> [above sends Alt + Tab, Ctrl + C, Alt + Tab, then Ctrl + V]
>
>
> Then set a shortcut to the scripts (right click it and choose Copy, go to the Desktop, a sub folder of the desktop, or on the Start Menu somewhere [right click Start and choose Open] and right click a blank area and choose Paste Shortcut) and set a hotkey for the shortcut (see help - but right click shortcut and choose Properties and look on the general tab - a lot of keys aren't available).
>
>
> You may want to know these additional commands.
>
>
> WSHShell.Run("c:\command.exe", 0, True)
> =================================
> With Param 1 being the command, Param 2 the window style (see below), and Param 3 a flag to indicate if to wait at this command untill the program started has exited - True it does and false it doesn't. Look in the Shortcut's Properties of the Start Menu shortcuts to see some command lines. You can also put document names in and have the Open command run on them.
>
>
> Window Style
> ------------------
> 0 Hides the window and activates another window.
> 1 Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
> 2 Activates the window and displays it as a minimized window.
> 3 Activates the window and displays it as a maximized window.
> 4 Displays a window in its most recent size and position. The active window remains active.
> 5 Activates the window and displays it in its current size and position.
> 6 Minimizes the specified window and activates the next top-level window in the Z order.
> 7 Displays the window as a minimized window. The active window remains active.
> 8 Displays the window in its current state. The active window remains active.
> 9 Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
> 10 Sets the show-state based on the state of the program that started the application.
>
>
> WSHShell.AppActivate "window title"
>
>
> ==============================
>
>
> In determining which application to activate, the specified title is compared to the title string of each running application. If no exact match exists, any application whose title string begins with title is activated. If an application still cannot be found, any application whose title string ends with title is activated. If more than one instance of the application named by title exists, one instance is arbitrarily activated.
>
>
> Use this to switch between windows and to make sure your sendkeys go to the right window.
>
>
> WScript.Sleep 50
> ==============
>
>
> Sends your program to sleep for the milliseconds specified. Sometimes you may need to do this to give the recieving program the ability to process your commands (as you are blocking it from running by sending it keystrokes) or more frequently to give a process enough time to complete.
>
>
> SendKeys Syntax
> ==============
>
>
> Sends one or more keystrokes to the active window (as if typed on the keyboard).
>
>
> object.SendKeys(string)Arguments
> object
> WshShell object.
> string
> String value indicating the keystroke(s) you want to send.
> Remarks
> Use the SendKeys method to send keystrokes to applications that have no automation interface. Most keyboard characters are represented by a single keystroke. Some keyboard characters are made up of combinations of keystrokes (CTRL+SHIFT+HOME, for example). To send a single keyboard character, send the character itself as the string argument. For example, to send the letter x, send the string argument "x".
>
>
> Note To send a space, send the string " ".
> You can use SendKeys to send more than one keystroke at a time. To do this, create a compound string argument that represents a sequence of keystrokes by appending each keystroke in the sequence to the one before it. For example, to send the keystrokes a, b, and c, you would send the string argument "abc". The SendKeys method uses some characters as modifiers of characters (instead of using their face-values). This set of special characters consists of parentheses, brackets, braces, and the:
>
>
> a.. plus sign "+",
> b.. caret "^",
> c.. percent sign "%",
> d.. and tilde "~"
> Send these characters by enclosing them within braces "{}". For example, to send the plus sign, send the string argument "{+}". Brackets "[ ]" have no special meaning when used with SendKeys, but you must enclose them within braces to accommodate applications that do give them a special meaning (for dynamic data exchange (DDE) for example).
>
>
> a.. To send bracket characters, send the string argument "{[}" for the left bracket and "{]}" for the right one.
> b.. To send brace characters, send the string argument "{{}" for the left brace and "{}}" for the right one.
> Some keystrokes do not generate characters (such as ENTER and TAB). Some keystrokes represent actions (such as BACKSPACE and BREAK). To send these kinds of keystrokes, send the arguments shown in the following table:
>
>
> Key Argument
> BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
> BREAK {BREAK}
> CAPS LOCK {CAPSLOCK}
> DEL or DELETE {DELETE} or {DEL}
> DOWN ARROW {DOWN}
> END {END}
> ENTER {ENTER} or ~
> ESC {ESC}
> HELP {HELP}
> HOME {HOME}
> INS or INSERT {INSERT} or {INS}
> LEFT ARROW {LEFT}
> NUM LOCK {NUMLOCK}
> PAGE DOWN {PGDN}
> PAGE UP {PGUP}
> PRINT SCREEN {PRTSC}
> RIGHT ARROW {RIGHT}
> SCROLL LOCK {SCROLLLOCK}
> TAB {TAB}
> UP ARROW {UP}
> F1 {F1}
> F2 {F2}
> F3 {F3}
> F4 {F4}
> F5 {F5}
> F6 {F6}
> F7 {F7}
> F8 {F8}
> F9 {F9}
> F10 {F10}
> F11 {F11}
> F12 {F12}
> F13 {F13}
> F14 {F14}
> F15 {F15}
> F16 {F16}
>
>
> To send keyboard characters that are comprised of a regular keystroke in combination with a SHIFT, CTRL, or ALT, create a compound string argument that represents the keystroke combination. You do this by preceding the regular keystroke with one or more of the following special characters:
>
>
> Key Special Character
> SHIFT +
> CTRL ^
> ALT %
>
>
> Note When used this way, these special characters are not enclosed within a set of braces.
> To specify that a combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, create a compound string argument with the modified keystrokes enclosed in parentheses. For example, to send the keystroke combination that specifies that the SHIFT key is held down while:
>
>
> a.. e and c are pressed, send the string argument "+(ec)".
> b.. e is pressed, followed by a lone c (with no SHIFT), send the string argument "+ec".
> You can use the SendKeys method to send a pattern of keystrokes that consists of a single keystroke pressed several times in a row. To do this, create a compound string argument that specifies the keystroke you want to repeat, followed by the number of times you want it repeated. You do this using a compound string argument of the form {keystroke number}. For example, to send the letter "x" ten times, you would send the string argument "{x 10}". Be sure to include a space between keystroke and number.
>
>
> Note The only keystroke pattern you can send is the kind that is comprised of a single keystroke pressed several times. For example, you can send "x" ten times, but you cannot do the same for "Ctrl+x".
> Note You cannot send the PRINT SCREEN key {PRTSC} to an application.
>
>
>
>
> --
> --------------------------------------------------------------------------------------------------
> http://webdiary.smh.com.au/archives/_comment/001075.html
> =================================================
> "Twanny" <msuser@xxxxxxxxxxx> wrote in message news:FE70202B-2CC2-4CCE-AE18-06AD321FB073@xxxxxxxxxxxxxxxx
> > That's what I have been doing David - editing each Desktop.ini file (it's
> > very tedious when multiple files/folders are involved).
> > I can manage a batch file with Notepad, but do not know what "vpscript and
> > "keys" are.
> > Can you point me out to some source or site to help me do this?
> >
> > Thanks
> > --
> > Twanny
> >
> >
> >
> > "David Candy" wrote:
> >
> >> No. However you can change an icon with a batch file. Icons information is stored in a hiiden text file called desktop.ini in the folder. Look at one with notepad. You could do it with vbscript and send keys.
> >>
> >> --
> >> --------------------------------------------------------------------------------------------------
> >> http://webdiary.smh.com.au/archives/_comment/001075.html
> >> =================================================
> >> "Twanny" <msuser@xxxxxxxxxxx> wrote in message news:86A1D9A2-15D8-4D6F-AFC6-6752DB342101@xxxxxxxxxxxxxxxx
> >> > Is it possible to create a batch file to bring up the "change icon" tab
> >> > in Folder Properties, instead of going through these 4 steps each time?
> >> > If yes, how would you write the Syntax?
> >> > The Batch File will have to execute from any Folder.
> >> >
> >> > Syntax required:
> >> > 1. Right Click Folder
> >> > 2. Click Properties
> >> > 3. Click Customize Tab
> >> > 4. Click Change Icon
> >> > --
> >> > Twanny
> >> >
> >>
.
- Follow-Ups:
- Re: WinXP Batch File ???
- From: Jon
- Re: WinXP Batch File ???
- References:
- WinXP Batch File ???
- From: Twanny
- Re: WinXP Batch File ???
- From: Twanny
- WinXP Batch File ???
- Prev by Date: NTLDR not found at startup
- Next by Date: RPCSS start delays Windows StartUp & Explorer remains open at shut-down
- Previous by thread: Re: WinXP Batch File ???
- Next by thread: Re: WinXP Batch File ???
- Index(es):
Relevant Pages
|
Loading