Setting Self Created File Filter as Default

Hello Guys,
I need some help out here. I have created a simple file filter and I have added it to a JFileChooser. Now when the FileChooser Dialog is loaded it shows the All Files Filter whereas I want the mine to be the default filter when the dialog loads. Also I do not want the Default File Filter (All Files) to be disabled. So both the filters should be enabled with my filter loading as default at runtime. Please Help.

Here is the sample code,
//=====================================================================
//Assuming that you have a JFileChooser object created by the reference fileChooser
JFileChooser fileChooser = new JFileChooser();
//To disable the default select all FIleFIlter call setAcceptAllFIleFilterUsed(false);
fileChooser.setAcceptAllFIleFilterUsed(false);
//set your desired FileFIlter
//Please note that the last filter is the one selected by default
//Suppose you have three FileFIlters namely
//FIleFIlterA, FIleFIlterB,FIleFIlterC
//fileChooser.setFileFIlter(yourFIlterA);
//fileChooser.setFileFIlter(yourFIlterB);
//fileChooser.setFileFIlter(yourFIlterC);
//Now FIleFIlterC will be shown selected by default
fileChooser.setFileFIlter(yourFIlter);
//Call any of the showDialog methods to open a dialog
fileChooser.showDialog(null, "Select File");
//===========================================================================
Hope this will solve your problem
Best regards,
MMM

Similar Messages

  • File Filter

    Hi,
    How Can I create file filter? I Need to show only the specyfic type of file
    in JFileChooser open or save ?
    Best Regards,
    Gutek

    You have to subclass the javax.swing.filechooser.FileFilter abstract class, add your filter object to your JFileChooser user-choosable filters list ( addChoosableFileFilter() method) and make it current ( setFileFilter() method ).
    Look at this:
    /** A simple FileFilter discriminating files by extension
    *  (only regular files allowed)
    *  @author Giorgio Maone
    import java.io.File;
    import javax.swing.filechooser.*;
    import javax.swing.JFileChooser;
    public class ExtensionFileFilter extends FileFilter {
    String[] extensions;
    String desc;
      public ExtensionFileFilter(String desc,String[] extensions) {
      this.extensions=extensions!=null?extensions:new String[]{};
      this.desc=desc==null?extList():desc+" ("+extList()+")";
    private String extList() {
      int len=extensions.length;
      if(len>0) {
       String ret=extensions[0];
       for(int j=1; j<len; ret+=", "+extensions[j++]);
       return ret;
      } else return "";
      public boolean accept(File f) {
      if(f.isFile()) {
       String fname=f.getName().toLowerCase();
        for(int j=extensions.length; j-->0;) {
         if(fname.endsWith(extensions[j])) return true;
      return false;
      public String getDescription() {
        return desc;
    //test main
      public static void main(String[] args) {
      JFileChooser fc=new JFileChooser();
      fc.addChoosableFileFilter(new ExtensionFileFilter("Pictures",new String[]{".gif",".jpg",".jpeg",".png"}));
      fc.addChoosableFileFilter(new ExtensionFileFilter("Audio-clips",new String[]{".au",".aiff",".mp3",".wav"}));
      fc.addChoosableFileFilter(new ExtensionFileFilter("Movies",new String[]{".mpg",".mpeg",".avi"}));
      fc.setAcceptAllFileFilterUsed(false);
      fc.setDialogTitle("Select a multimedia content");
      fc.showOpenDialog(null);
    }

  • File, Send link doesn't open a new email. Using Firefox 11.0. Outlook 2010 is the Mailto default and W7 default email program. On the About:config page network.protocol-handler.external.mailto is set to regular font (not bold) "default Boolean true".

    File, Send link doesn’t open a new email. Running Firefox 11.0. Outlook 2010 is the Mailto default and the W7 default email program. On the About:config page, network.protocol-handler.external.mailto is set to regular font (not bold) “default Boolean true”.

    I assume you have tried toggling the setting in Firefox between Outlook and, say, Gmail:
    orange Firefox button ''or'' classic Tools menu > Options > Applications
    In the search box, type or paste '''mailto''' and pause for the list to filter.
    Change the setting and OK to save it, then return to the dialog, change back, and OK again.
    You also might want to toggle the setting at the OS level between Microsoft Outlook and the native Windows Mail client in a similar fashion. In Windows XP you could use IE's Options dialog, Programs tab, for this, but I'm not sure in Windows 7.
    Since one possibility is a problem in your Firefox settings (including the possibility of interfering add-ons), and another is a problem at the Windows level (e.g., Registry settings), it would be useful to try to identify which one it is. One quick way to distinguish is to create a new Firefox profile. It will start up with all factory settings. You can switch back to your existing profile after testing.
    First, I recommend backing up your Firefox settings in case something goes wrong. See [https://support.mozilla.com/en-US/kb/Backing+up+your+information Backing up your information]. (You can copy your entire Firefox profile folder somewhere outside of the Mozilla folder.)
    After closing Firefox, start up again in the Profile Manager as described in this article: [http://support.mozilla.com/kb/Managing+profiles Managing profiles].
    With the new profile, can Firefox successfully create a message in Outlook?

  • Why do I get "generic error" message when trying to upload a self-created, 1hr .wmv file?

    I went through the forums and made sure that any blocks or copywrites weren't triggered by the file, it's clean and can be opened using a media player and other video editing software like windows MovieMaker. I keep getting "The importer reported a generic error" message and have no idea how to proceed. Can someone please help?

    Re: Why do I get "generic error" message when trying to upload a self-created, 1hr .wmv  file?
    This ARTICLE starts with a checklist on setting up a computer to run PrE best, then goes into a series of links for tuning up one's computer and OS, and then links on troubleshooting.
    There is also a link on posting all necessary info, to help others help you.
    Without knowing much more about your system, it is impossible to say much beyond that WMV's are tough assests to work with, requiring a lot of CPU horsepower.
    Good luck,
    Hunt

  • How to set file filter in FileUpload?

    Is there any way to set the file filter on FileUpload? Let's say, I only want the user to see all .xml files. Currently, the default is all files of any extension are displayed.
    Thanks. c",?

    The dialog which appears is solely controlled by the browser. I don't see a way to set the file filter to this dialog.
    You can read more about file upload here.
    http://jakarta.apache.org/commons/fileupload/using.html
    - Winston
    http://blogs.sun.com/winston

  • Self-created invisible system file not found via Finder's Find command

    I need to see what is being created on my hard disk. To achieve that, I create a test file, call it .new in TextEdit, remove the hidden .rtf extension, and place it in one of the folders in /Library/Application Support. Then, I use Finders Find command, and ask to search This Mac, Created date: today, System files are included, File visibility Visible or Invisible, leaving the input field (for file contents or name) blank. The newly created file isn't found. I type its name into the input field, with the same result. I change its name to .new.plist . Same result. Suspecting that "System files" acutally means system files and doesn't include the Library on the top level, I place that same item in /System/Library/PodcastProducer. Same result.
    Seriously, this is entirely incomprehensible. The Find command obviously doesn't do what it says it does. Could anyone tell me how to get it to, or name some alternative?
    Thanks a lot.

    Actually you CAN get ressults for .whatever files and folders. I created a saved search for my home folder with the criterion of "File visibility::Invisible Items" and then "None of the following are true::Name contains" DS_Store, Icon or localized. The result is a list of 65 invisible items including things such as the files /Users/francine/Library/Preferences/ByHost/.GlobalPreferences.0017f20dca84.plis t (a dot file), /Users/francine/Library/Preferences/com.freeverse.5012 (something with the invisible flag set), the dot folder /Users/francine/.fontconfig, and many others of all of these types. I thought it was interesting that lots of them were inside the ~/Library folder, even though I did NOT specify including system files.
    I don't know why the original poster can't get Spotlight, using the the Command-f method, to display dot files. When I was setting my own invisible items search up I did manage to crash the Finder once, so it may be that the query for invisible items is buggy. Here's the Raw Query:
    (true) && (((kMDItemFSInvisible = 1) && (!((kMDItemDisplayName = "\DS_Store"cd) || (kMDItemDisplayName = "\Icon"cd) || (kMDItemDisplayName = "\localized"cd)))))
    If you go to a folder, do Command-f, then change from the default "Kind" to "Raw Query" and paste the above in as the query, you ought to get all the invisible files and folders, except the .DS_Store, Icon and localized files (of which there are likely hundreds of 'em in your home folder).
    Francine
    Francine
    Schwieder

  • JFileChooser: folder disapper for choosing when file filter is set

    I have created a JFileChooser for saving csv file. After I have add .csv as the choosable file filter, all folders disapper even though I have set file selection mode as FILES_AND_DIRECTORIES! It will be shown only when I choose "All files" in the file type. Is there any way to display the folder together with all the csv files together?
    Here is my code sippnet:
    javax.swing.JFileChooser saveDialogBox = new javax.swing.JFileChooser("C:\\");
    saveDialogBox.setDialogTitle("Exporting...");
    saveDialogBox.setDragEnabled(true);
    saveDialogBox.setFileSelectionMode(javax.swing.JFileChooser.FILES_AND_DIRECTORIES);
    FileFiltering fileExtension = new FileFiltering();
    saveDialogBox.addChoosableFileFilter(fileExtension);               
    int retMethod = saveDialogBox.showSaveDialog(this);

    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.filechooser.*;
    public class Test extends JFrame {
        public Test() {
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         Container content = getContentPane();
         JFileChooser jfc = new JFileChooser();
         jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
         jfc.setFileFilter(new FileFilter() {
             public boolean accept(java.io.File file) {
              return file.isDirectory() || file.getName().endsWith(".txt");
             public String getDescription() { return "*.txt"; }
         jfc.showSaveDialog(this);
         setSize(200,200);
         show();
        public static void main(String[] args) { new Test(); }
    }

  • I want to open a domain.site2 file outside the default folder (User/Library/Application Support/iWeb) with iWeb11, but iWeb only opens the domain file in the default folder. If I delete the default domain file, iWeb wants to create a new site. Help please

    I want to open a domain.site2 file outside the default folder (User/Library/Application Support/iWeb) with iWeb11, but iWeb only opens the domain file in the default folder. If I delete the default domain file, iWeb wants to create a new site. Does anyone have the same problem or know how to fix it?

    In Lion the Finder folder is now invisible.  To make it permanetely visible enter the following in the Terminal applicaiton window: chflags nohidden ~/Library and hit the Enter button - 10.7: Un-hide the User Library folder.
    For opening your domain file in Lion for the first time or to switch between multiple domain files  Cyclosaurus has provided us with the following script that you can make into an Applescript application with Script Editor. Open Script Editor, copy and paste the script below into Script Editor's window and save as an applicaiton.
    Just launch the applicaiton, find and select the domain file you want to open and it will open with iWeb. It modifies the iWeb preference file each time it's launched so one can switch between domain files.
    do shell script "/usr/bin/defaults write com.apple.iWeb iWebDefaultsDocumentPath -boolean no"delay 1
    tell application "iWeb" to activate
    OT

  • If it is not specified,Oracle creates one control file in a default locatio

    Hi
    The CONTROL_FILES parameter is not required when you create a database. If it is not specified,Oracle creates one control file in a default location,.
    Where oracle create contol file default in this condition
    Thanks

    Can you try to create a database and see
    FYI
    It creates in $ORACLE_HOME\database folder..if not specified but in UNIX i think it will be under $ORACLE_HOME/dbs
    Because i dont have UNIX right now to test it
    Message was edited by:
    Maran Viswarayar

  • How do you create a save as default folder for MP3 files used Captivate text to audio voices files?

    How do you create a save as default folder for MP3 files used Captivate text to audio voices files?

    Hi Ed
    Thank you for contacting me, however I already know how to save text to
    audio files via timeline using the Export feature.
    So my question was not entirely clear and I apologize for that.  To explain
    further, whenever I save a text to audio file, captivate takes me to a
    default save as folder where I then have browse back to my production
    folder where I am keeping all my Txt to Aud files.  This is very tedious
    process when you have alot of files to save.  So my question was is there a
    way to configure captivate so I can make my production folder the default
    file for whenever I save a Txt to Audio file through Export feature that
    the system automatically takes me to that production folder, and I am
    spared the long tedious process of saving the file manually to the
    prodcution folder I want.
    I have copy the pathway to the production folder in the URL filed in the
    Save As dialoge box and that workaround as cut the work down but I still
    have to paste that URL field to point the file to the right folder. So it
    would be nice if I could do everything automatically.  Microsoft makes this
    capability in their MS Office applications, so I was thinking Adobe might
    do the same thing.  Your help with this would be appreicated,
    Thanks
    Merrill Roberts
    Sr. Training Specialist
    SunGard Availability Services
    Direct 925-831-7730
    Mobile:415-215-9280

  • MS ssis service: registry setting specifying configuration file does not exist. attempting to load default configuration file. SQLIService100 - event id 274

    window 2008 R2 server ---- after installing SQL 2008 R2 then applying sp2 / sp3 I noted a warning -
    Note this server had SQL 2008 R2 uninstalled previously.
    MS ssis service: registry setting specifying configuration file does not exist. attempting to load default configuration file.
    SQLIService100 - source
    event id- 274
    user - N/A
    Task category - service control.
    Do we need to fix something and how do we fix this warning event?
    dsk

    You could search online for this warning. I was able to find http://superuser.com/questions/346264/event-log-warning-registry-setting-specifying-configuration-file-does-not-exist
    where the fix is "in your registry, go to:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS\ServiceConfigFile
    or
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\ServiceConfigFile
    if value is empty then add in:
    C:\Program Files\Microsoft SQL Server\100\DTS\Binn\MsDtsSrvr.ini.xml"
    Arthur
    MyBlog
    Twitter

  • How to set permissions for files created by Windows on OS 10.8 volume

    I am in process of upgrading from an iMac with OS 10.6 to an iMac with OS 10.8.  In my office network, I store all files on my iMac and let the Windows PCs act as workstations to read/write onto the Mac.  (It's simpler to have all files centralized in one location, and only have to be concerned about backing up one volume.)
    When I had OS 10.4 and OS 10.6 any newly created file saved by the Windows PCs onto the Mac could be opened by the Mac.
    But with OS 10.8, I can not open newly created files from Windows.  The file permissions for the newly created files from the Windows PCs are: 
         PCUser = read/write;  Everyone = no access.
    What do I need to do so that newly created files from the Windows PC (currently Windows 7) can be opened by the Mac, without having to use Get Info to reset the permissions each time?

    You could try adding this Access Control Entry (ACE) to the folders you let them save to:
    sudo chmod -R +a "accountinggroup allow delete,chown,list,search,add_file,add_subdirectory,delete_child,file_inherit,directory_inherit" /Path/to/topmost/folder
    You first need to create a group for all the sharing people you want to have access to that folder, if you don't already have one. In the example, "accountinggroup" is the group, so change that to whatever you want to use.
    The ACE allows them full access to the files in the folders. If you want to limit that, remove the option (such as delete).
    You create Groups in Users & Groups System Preference just like creating a new user. Just change the account type to Group.
    If you want a GUI to do the settings, try Sandbox.  It's got a few glitches in the Interface, but it seems to write the ACL correctly. One glitch is selecting the Group or User. I had just a list of Continuing in the popup menu. I typed in the Group name I wanted and it worked. Some errors pop up as you traverse the file hierarchy, but you can dismiss them.
    Here is an old hint, which gives a little background, and some other options: http://hints.macworld.com/article.php?story=20090219133314985
    The Server tools would allow you to set this up more easily, but if this is all you need as the server, I don't know if it is worth it.

  • __I accidentally set my .EPS files to open via Pshop - How do I change to open in Ai by default?

    I accidentally set my .EPS files to open via Pshop - How do I change to open in Ai by default?
    The above screenshot shows what should work, but doesn't.
    OSX 10.7.5

    Your screen shot appears to be from a Mac. If so, select any .eps file you have and press Cmd+i. This window will come up:
    In the "Open With" section select Illustrator and click "Change All".

  • I have been trying to download photos. It keeps saying can't create file, please check permissions on destination folder. Ihave made sure I have set the permissions on read and write. What am I doing wrong?

    I have been trying to download photos too my MAC. It keeps saying can't create file, please check permissions on destination folder. Ihave made sure I have set the permissions on read and write. What am I doing wrong?

    Lanakivee
    Try this it worked for me Pat Willener gave it to me off the site :
    I have not read all you wrote, so I may have missed some points. As I understand it, you installed FP 10 on IE7, but it won't play any Flash content?
    Try this
    download the FP uninstaller from http://www.adobe.com/go/tn_14157
    close all browser windows, then run the uninstaller
    download the offline ActivX installer for Internet Explorer from http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe
    close all browser windows, then run the installer

  • How to refresh/apply column value default setting on current files or folders

    Hi All
    I have set-up default column data per folder in my library (via
    Library Settings > Column default settings) and it works great for new documents or folders that are added to the library.
    But what do I do if I have an existing Library with folders and files and need to apply default column data to each? Is there a way of "refreshing" the default columns so that the data is populated through a specific folder and/or its sub-folders?
    (I really hope this is an easy fix or just a setting that I over-looked somewhere!)
    Thank you!

    I had to do this as well recently, and remembered your post.
    Here is the function I wrote , this worked for text, choice, and metadata columns
    It is pretty slow and could be optimized and broken up into more functions, but I had to do several things:
    1. I mass-updated the content types in a library
    2. On Library settings : set default values and also different defaults per folder
    3. For each file I then needed to:
    3.a. either copy the value from a column in the old content type to the new, or
    3.b. set the column to the default
    so this function does step 3, like I said it works for certain types of columns and can be sped up (I used it to update 700 files in a couple minutes), and it makes some assumptions about the environment but this at least is a starting point.
    As Alex said you may want to change SystemUpdate($true) to just Update(), depending on your requirements.
    <#
    .SYNOPSIS
    Resets columns in a document library to defaults for blank columns. Use this
    after changing the content types or adding columns to a doc lib with existing files
    .DESCRIPTION
    Resets columns in a doc lib to their defaults. Will only set them if the columns are blank (unless overridden)
    Will also copy some values from one column to another while you are there.
    Can restrict the update to a subset of columns, or have it look for all columns with defaults.
    Will use the list defaults as well as folder defaults.
    All names of columns passed in should use InternalName.
    This has ONLY been tested on Text, Choice, Metadata, and mult-Choice and Mult-Metadata columns
    Pass in a list and it will recursively travel down the list to update all items with the defaults for the items in that folder.
    If you call it on a folder, it will travel up the tree of folders to find the proper defaults
    Author:
    Chris Buchholz
    [email protected]
    @plutosdad
    .PARAMETER list
    The document library to update. Using this parameter it will update all files in the doc lib
    .PARAMETER folder
    The folder containing files to update. Function will update all files in this folder and subfolders.
    .PARAMETER ParentFolderDefaults
    Hashtable of internal field names as KEY, and value VALUE, summing up all the parent folders or list defaults.
    If not supplied, then the function will travel up the tree of folders to the parent doclib to determine
    the correct defaults to apply.
    If the field is managed metadata, then the value is a string
    Currently only tested for string and metadata values, not lookup or date
    .PARAMETER termstore
    The termstore to use if you are going to update managed metadata columns, this assumes we are only using the one termstore for all columns to update
    If you are using the site collection specific termstore for some columns you want to update, and
    the central termstore for others, then you should call this method twice, once with each termstore,
    and specify the respective columns in fieldsToUpdate
    .PARAMETER fieldsToCopy
    Hashtable of internal field names, where KEY is the "to" field, and VALUE is the "from" field
    Use this to copy values from one field to another for the item.
    These override the defaults, and also cause the "from" (Value) fields to NOT be overwritten with defaults even if
    they are in the fieldsToUpdate array.
    Example: @{"MyNewColumn" = "My_x0020_Old_x0020_Column"}
    .PARAMETER fieldsToUpdate
    If supplied then the method will update only the fields in this array to their default values, if null then it will update
    all fields that have defaults.
    If you pass in an empty array, then this method will only copy fields in the fieldtocopy and not
    apply any defaults
    Example: @() - to only copy and not set any fields to default
    Example2: @('UpdateField1','UpdateField2') will
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToCopy @{"MyNewColumn" = "My_x0020_Old_x0020_Column"} -fieldsToUpdate @() -overwrite -termStore $termStore
    This will not set any defaults, but instead only set MyNewColumn to non null values of My_x0020_Old_x0020_Column
    It will overwrite any values of MyNewColumn
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -overwrite
    This will set all columns to their default values even if they are filled in already
    .EXAMPLE
    Set-SPListItemValuesToDefaults -folder $list.RootFolder.SubFolder[3].SubFolder[5]
    This will set all columns to their defaults in the given subfolder of a library
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToUpdate @('ColumnOneInternalName','ColumnTwoInternalName')
    This will set columns ColumnOneInternalName and ColumnTwoInternalName to their defaults for all items where they are currently null
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToCopy @{"MyNewColumn" = "My_x0020_Old_x0020_Column"} -fieldsToUpdate @("MyNewColumn") -termStore $termStore
    This will set all MyNewColumn values to their default, and then also copy the values of My_x0020_Old_x0020_Column to MyNewColumn where the old column is not null,
    but both of these will only happen for items where MyNewColumn is null
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToCopy @{"MyNewColumn" = "My_x0020_Old_x0020_Column"} -termStore $termStore
    This will set ALL columns with defaults to the default value (if the item's value is null),
    except for My_x0020_Old_x0020_Column which will not be modified even if it has a default value, and will also set MyNewColumn to the
    value of My_x0020_Old_x0020_Column if the old value is not null
    #>
    function Set-SPListItemValuesToDefaults {
    [CmdletBinding(SupportsShouldProcess=$true)]
    param(
    [Parameter(Mandatory=$true,ValueFromPipeline=$true,ParameterSetName="List")][Microsoft.SharePoint.SPList]$list,
    [Parameter(Mandatory=$true,ValueFromPipeline=$true,ParameterSetName="Folder")][Microsoft.SharePoint.SPFolder]$folder,
    [Parameter(Mandatory=$false,ParameterSetName="Folder")][HashTable]$ParentFolderDefaults,
    [Parameter(Mandatory=$false)][HashTable]$fieldsToCopy,
    [Parameter(Mandatory=$false)][Array]$fieldsToUpdate,
    [Parameter(Mandatory=$false)][Microsoft.SharePoint.Taxonomy.TermStore]$termStore,
    [Switch]$overwrite,
    [Switch]$overwriteFromFields
    begin {
    #one or both can be null, but if both empty, then nothing to do
    if ($null -ne $fieldsToUpdate -and $fieldsToUpdate.Count -eq 0 -and
    ( $null -eq $fieldsToCopy -or $fieldsToCopy.Count -eq 0)) {
    Write-Warning "No fields to update OR copy"
    return
    if ($PSCmdlet.ParameterSetName -eq "Folder") {
    $list = $folder.DocumentLibrary
    if ($null -eq $termStore ) {
    $taxonomySession = Get-SPTaxonomySession -site $list.ParentWeb.Site
    $termStores = $taxonomySession.TermStores
    $termStore = $termStores[0]
    #if we did not pass in the parent folder defaults then we must go backward up tree
    if ($PSCmdlet.ParameterSetName -eq "Folder" -and $null -eq $ParentFolderDefaults ) {
    $ParentFolderDefaults = @{}
    if ($null -eq $fieldsToUpdate -or $fieldsToUpdate.Count -gt 0) {
    write-Debug "ParentFolderDefaults is null"
    $tempfolder=$folder.ParentFolder
    while ($tempfolder.ParentListId -ne [Guid]::Empty) {
    Write-Debug "at folder $($tempfolder.Url)"
    $pairs = $columnDefaults.GetDefaultMetadata($tempfolder)
    foreach ($pair in $pairs) {
    if (!$ParentFolderDefaults.ContainsKey($pair.First)) {
    Write-Debug "Folder $($tempfolder.Name) default: $($pair.First) = $($pair.Second)"
    $ParentFolderDefaults.Add($pair.First,$pair.Second)
    $tempfolder = $tempfolder.ParentFolder
    #listdefaults
    Write-Debug "at list"
    foreach ($field in $folder.DocumentLibrary.Fields) {
    if ($field.InternalName -eq "_ModerationStatus") { continue }
    #$field = $list.Fields[$name]
    if (![String]::IsNullOrEmpty($field.DefaultValue)) {
    #Write-Verbose "List default found key $($field.InternalName)"
    if (!$ParentFolderDefaults.ContainsKey($field.InternalName)) {
    Write-Debug "List Default $($field.InternalName) = $($field.DefaultValue)"
    $ParentFolderDefaults.Add($field.InternalName,$field.DefaultValue)
    process {
    Write-Debug "Calling with $($PSCmdlet.ParameterSetName)"
    Write-Debug "Parent folder hash has $($ParentFolderDefaults.Count) items"
    if ($PSCmdlet.ParameterSetName -eq "List" ) {
    $folder = $list.RootFolder
    $ParentFolderDefaults=@{}
    if ($null -eq $fieldsToUpdate -or $fieldsToUpdate.Count -gt 0) {
    foreach ($field in $list.Fields) {
    if ($field.InternalName -eq "_ModerationStatus") { continue }
    if (![String]::IsNullOrEmpty($field.DefaultValue)) {
    Write-Debug "List Default $($field.InternalName) = $($field.DefaultValue)"
    $ParentFolderDefaults.Add($field.InternalName,$field.DefaultValue)
    Write-Verbose "At folder $($folder.Url)"
    $FolderDefaults=@{}
    $FolderDefaults += $ParentFolderDefaults
    if ($null -eq $fieldsToUpdate -or $fieldsToUpdate.Count -gt 0) {
    $pairs = $columnDefaults.GetDefaultMetadata($folder)
    foreach ($pair in $pairs) {
    if ($FolderDefaults.ContainsKey($pair.First)) {
    $FolderDefaults.Remove($pair.First)
    Write-Debug "Folder $($folder.Name) default: $($pair.First) = $($pair.Second)"
    $FolderDefaults.Add($pair.First,$pair.Second)
    #set values
    foreach ($file in $folder.Files) {
    if ($file.CheckOutType -ne [Microsoft.SharePoint.SPFile+SPCheckOutType]::None) {
    Write-Warning "File $($file.Url).CheckOutType = $($file.CheckOutType)) ... skipping"
    continue
    $item = $file.Item
    $ItemDefaults=@{}
    $ItemDefaults+= $FolderDefaults
    #if we only want certain fields then remove the others
    #Move this to every time we add values to the defaults
    if ($null -ne $fieldsToUpdate ) {
    $ItemDefaults2=@{}
    foreach ($fieldInternalName in $fieldsToUpdate) {
    try {
    $ItemDefaults2.Add($fieldInternalName,$ItemDefaults[$fieldInternalName])
    } catch { } #who cares if not in list
    $ItemDefaults = $ItemDefaults2
    #do not overwrite already filled in values unless specified
    if (!$overwrite) {
    $keys = $itemDefaults.Keys
    for ($i=$keys.Count - 1; $i -ge 0; $i-- ) {
    $key=$keys[$i]
    try {
    $val =$item[$item.Fields.GetFieldByInternalName($key)]
    if ($val -ne $null) {
    $ItemDefaults.Remove($key)
    } catch {} #if fieldname does not exist then ignore, we should check for this earlier
    #do not overwrite FROM fields in copy list unless specified
    if (!$overwriteFromFields) {
    if ($null -ne $fieldToCopy -and $fieldsToCopy.Count -gt 0) {
    foreach ($value in $fieldsToCopy.Values) {
    try {
    $ItemDefaults.Remove($value)
    } catch {} #who cares if not in list
    #do not overwrite TO fields in copy list if we're going to copy instead
    if (!$overwriteFromFields) {
    if ($null -ne $fieldToCopy -and $fieldsToCopy.Count -gt 0) {
    foreach ($key in $fieldsToCopy.Keys) {
    $fromfield = $item.Fields.GetFieldByInternalName($fieldsToCopy[$key])
    try {
    if ($null -ne $item[$fromfield]) {
    $ItemDefaults.Remove($key)
    } catch {} #who cares if not in list
    Write-Verbose $item.Url
    $namestr = [String]::Empty
    if ($ItemDefaults.Count -eq 0) {
    write-Verbose "No defaults, copy only"
    } else {
    $str = $ItemDefaults | Out-String
    $namestr += $str
    Write-Verbose $str
    if ($null -ne $fieldsToCopy -and $fieldsToCopy.Count -gt 0) {
    $str = $fieldsToCopy | Out-String
    $namestr +=$str
    if ($PSCmdlet.ShouldProcess($item.Url,"Set Values: $namestr"))
    #defaults
    if ($null -ne $ItemDefaults -and $ItemDefaults.Count -gt 0) {
    foreach ($key in $ItemDefaults.Keys) {
    $tofield = $item.Fields.GetFieldByInternalName($key)
    if ($tofield.TypeAsString -like "TaxonomyFieldType*") {
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $taxfieldValue = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue($tofield)
    $lookupval=$ItemDefaults[$key]
    $termval=$lookupval.Substring( $lookupval.IndexOf('#')+1)
    $taxfieldValue.PopulateFromLabelGuidPair($termval)
    if ($tofield.TypeAsString -eq "TaxonomyFieldType") {
    $taxfield.SetFieldValue($item,$taxfieldValue)
    } else {
    #multi
    $taxfieldValues = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection $tofield
    $taxfieldValues.Add($taxfieldValue)
    $taxfield.SetFieldValue($item,$taxfieldValues)
    } else {
    $item[$field]=$ItemDefaults[$key]
    #copyfields
    if ($null -ne $fieldsToCopy -and $fieldsToCopy.Count -gt 0) {
    #$fieldsToCopy | Out-String | Write-Verbose
    foreach ($key in $fieldsToCopy.Keys) {
    $tofield = $item.Fields.GetFieldByInternalName($key)
    $fromfield = $item.Fields.GetFieldByInternalName($fieldsToCopy[$key])
    if ($null -eq $item[$fromfield] -or ( !$overwrite -and $null -ne $item[$tofield] )) {
    continue
    if ($tofield.TypeAsString -eq "TaxonomyFieldType" -and
    $fromfield.TypeAsString -notlike "TaxonomyFieldType*" ) {
    #non taxonomy to taxonomy
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $termSet = $termStore.GetTermSet($taxfield.TermSetId)
    [String]$fromval = $item[$fromfield]
    $vals = $fromval -split ';#' | where {![String]::IsNullOrEmpty($_)}
    if ($null -ne $vals -and $vals.Count -ge 0 ) {
    $val = $vals[0]
    if ($vals.Count -gt 1) {
    write-Warning "$($item.Url) Found more than one value in $($fromfield.InternalName)"
    continue
    $terms =$termSet.GetTerms($val,$true)
    if ($null -ne $terms -and $terms.Count -gt 0) {
    $term = $terms[0]
    $taxfield.SetFieldValue($item,$term)
    Write-Verbose "$($tofield.InternalName) = $($term.Name)"
    } else {
    Write-Warning "Could not determine term for $($fromfield.InternalName) for $($item.Url)"
    continue
    } elseif ($tofield.TypeAsString -eq "TaxonomyFieldTypeMulti" -and
    $fromfield.TypeAsString -notlike "TaxonomyFieldType*" ) {
    Write-Debug "we are here: $($item.Name): $($fromfield.TypeAsString) to $($tofield.TypeAsString )"
    #non taxonomy to taxonomy
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $termSet = $termStore.GetTermSet($taxfield.TermSetId)
    $taxfieldValues = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection $tofield
    [String]$fromval = $item[$fromfield]
    $vals = $fromval -split ';#' | where {![String]::IsNullOrEmpty($_)}
    foreach ($val in $vals){
    $terms =$termSet.GetTerms($val,$true)
    if ($null -ne $terms -and $terms.Count -gt 0) {
    $term=$terms[0]
    $taxfieldValue = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue($tofield)
    $taxfieldValue.TermGuid = $term.Id.ToString()
    $taxfieldValue.Label = $term.Name
    $taxfieldValues.Add($taxfieldValue)
    } else {
    Write-Warning "Could not determine term for $($fromfield.InternalName) for $($item.Url)"
    continue
    #,[Microsoft.SharePoint.Taxonomy.StringMatchOption]::ExactMatch,
    $taxfield.SetFieldValue($item,$taxfieldValues)
    $valsAsString = $taxfieldValues | Out-String
    Write-Debug "$($tofield.InternalName) = $valsAsString"
    } elseif ($tofield.TypeAsString -eq "TaxonomyFieldTypeMulti" -and
    $fromfield.TypeAsString -eq "TaxonomyFieldType" ) {
    #single taxonomy to multi
    $taxfieldValues = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection $tofield
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $taxfieldValues.Add($item[$fromfield])
    $taxfield.SetFieldValue($item,$taxFieldValues)
    Write-Verbose "$($tofield.InternalName) = $valsAsString"
    } elseif ($tofield.TypeAsString -eq "TaxonomyFieldType" -and
    $fromfield.TypeAsString -eq "TaxonomyFieldTypeMulti" ) {
    #multi taxonomy to single taxonomy
    Write-Warning "multi to non multi - what to do here"
    continue
    } elseif ($tofield.TypeAsString -eq "Lookup" -and
    $fromfield.TypeAsString -ne "Lookup" ) {
    #non lookup to lookup
    Write-Warning "non lookup to lookup - still todo"
    continue
    } else {
    #straight copy
    $item[$tofield] = $item[$fromfield]
    $item.SystemUpdate($false)
    $folders = $folder.SubFolders | where name -ne "Forms"
    $folders | Set-SPListItemValuesToDefaults -ParentFolderDefaults $FolderDefaults -fieldsToCopy $fieldsToCopy -fieldsToUpdate $fieldsToUpdate -overwrite:$overwrite -overwriteFromFields:$overwriteFromFields -termStore $termStore

Maybe you are looking for

  • A bug with flags and active view? Or is it a (bad) feature?..

    As I mark an image in a folder view as flagged and then switch to a collection view and look on the same image, it's not flagged. I expect, that information about marking the image as flagged remains on that image, not on a current active view.

  • Strange problem with Subviews on 1.0 Beta

    Hi, I'm having a strange problem with SubViews on 1.0 Beta. I'm not sure If I'm being stupid and have done something wrong, or if there's a problem here. My application is directly based on one of the examples, so the structure etc is almost identica

  • Viewing the "Now Playing" or "Currently Playing" playlist?

    I'm moving over to iTunes at the moment from an older MP3 player and I can't seem to find a playlist that shows the songs that iTunes will corrently work its way through - i.e. a "Now Playing" playlist or group of songs that are ticked in tbe music l

  • K004     111     Condition ignored (requirement 002 not fulfilled)

    Hello Gurus, I have included K004 in v/06,v/08, and did all in ovkk and vk11, but still when created sales order I cant see K004. Upon analysis it says "K004     111     Condition ignored (requirement 002 not fulfilled)". The strange thing is when I

  • [CREATE_RECORD/NEXT_RECORD]Encounter exception when call CREATE_RECORD

    Dear all I got a strange problem when I try to customize the Move Order, the req is 1. Add one section, such as the job number 2.User can click a button to retrieve the preserved template info(item,uom, qty, etc..) 3.The template needs to be automati