Jump to content

Ms DOS attrib command


kingprageeth

Recommended Posts


SYS command can not change attributes of folders. It works with file attributes, only.

In general dos is not able to change attributes of folders, such a possibility came with the Windows GUI. Still, the system attribute of a folder requires disk editor, or some other special application.

In order to get a folder with a system attribute set without additional application, the simplest solution would be to make a copy of some other system folder. Luckily, Explorer is able to change a system folder name.

Link to comment
Share on other sites

Attribute of folders can be changed using command prompt. Ex:- the command "attrib +s +h d:\myfolder" will change the attribute of "myfolder". The command "attrib +s +h d:\myfolder\*.* /s /d" will change the attribute of all the files and sub folders in "myfolder". But I want to change the attribute of folders only. Please help me. :(

Link to comment
Share on other sites

Interesting, it does work, indeed.

It is not possible to change multiple folders arrtibutes with a single command. The DOS does not process folders with wildard based operations. It is necesary to run a separate command for every folder.

It is possible to do it in Windows 2000/NT system. But this will require a small batch program.

In case of a Windows 9x system a VB script could do it, I think.

Link to comment
Share on other sites

/D does 'process folders as well'

So

attrib +s d:\myfolder\*.* /s /d

attrib -s d:\myfolder\*.* /s

should set the system flag for all folders, and reset it for all files.

With Windows 2000, yes. With Windows 98, no.

The /d switch is not supported in Windows 9x.

Link to comment
Share on other sites

Ah, I see.

It's not dos, but next code should work:

var system = 4;
var hidden = 2;

function DoFolder( folder )
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folder);
f.attributes |= system;
f.attributes |= hidden;

var fc = new Enumerator( f.SubFolders );

for (; !fc.atEnd(); fc.moveNext() )
{
DoFolder( fc.item() );
}
}

DoFolder( "D:\\MyFolder" );

Copy the code, save it as a .js file, and doubleclick on it. It should set the system and hidden attribute of all subfolders of D:\MyFolder, including MyFolder itself. Have a look at the double \ in "D:\\MyFolder". This is necessary for all backslashes in your path.

Link to comment
Share on other sites

please tell me the way of unhide the folders

The line

f.attributes |= hidden;

should be changed to

f.attributes &= ~hidden;

which removes the hidden flag.

Other possible flags are:

1 ReadOnly

2 Hidden

4 System

8 Disk drive volume label. Attribute is read-only.

16 Directory. Attribute is read-only.

32 Archive

64 Shortcut. Attribute is read-only.

128 Compressed. Attribute is read-only.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...