需要一个脚本来完成一些简单的事情

时间:2014-03-10 02:57:03

标签: batch-file copy

我不擅长编码,但要快速学习 - 这是一件好事,我不赚钱这样做!

我做电脑维修(主要是恶意软件和病毒修复),我在我的USB记忆棒上使用了一个新程序,无论驱动器占用什么字母,都会在客户系统驱动器的根目录上留下报告。 (这部分由程序本身自动完成,不属于我的批处理脚本)

我想将自己的图标复制到此文件夹,然后将该文件夹复制到客户的桌面,然后将文件夹图标更改为我之前在步骤1中复制回来的图标。 我已经手动完成了多年,但由于我一直在使用这个新工具,我看到了自动化这个过程并节省我一分钟工作的可能性。 (每分钟都很重要!)

我这样做有两个原因:

  1. 因此,客户可以看到发现了哪些类型的病毒/恶意软件以及已完成的工作量
  2. 希望客户浏览日志并查看他们下载或意外安装的内容,并在将来更加清楚。 (这从来没有用,但至少我已经努力帮助教育了!)
  3. 这是我到目前为止所做的:(对不起,他们在那里,所以我可以把事情记在心里) 我的图标位于运行脚本的同一目录中。

        REM THIS COPIES MY ICON TO THE DEFAULT REPORTS FOLDER AT THE ROOT OF THE CUSTOMER'S SYSTEM DRIVE AND THEN COPIES THE ENTIRE FOLDER OVER TO THE CUSTOMER'S DESKTOP
    copy applogo.ico "%systemdrive%\Computer Support\"
    xcopy "%systemdrive%\Computer Support" "%userprofile%\Desktop\Computer Support" /e /c /i /h /r /k /y /z
    
    CD %userprofile%\Desktop\Computer Support
    
    REM THIS ADDS THE SYSTEM FILE ATTRIBUTE
    ATTRIB +s "Computer Support"
    
    
    REM THIS CHANGES THE FOLDER ICON TO MY OWN ICON
    ECHO [.ShellClassInfo] >> desktop.txt
    ECHO ConfirmFileOp=0 >> desktop.txt
    ECHO NoSharing=1 >> desktop.txt
    ECHO IconFile=applogo.ico >> desktop.txt
    ECHO IconIndex=0 >> desktop.txt
    ECHO InfoTip= >> desktop.txt
    CHCP 1252 >NUL
    CMD.EXE /D /A /C (SET/P=ÿþ)<NUL > desktop.ini 2>NUL
    CMD.EXE /D /U /C TYPE desktop.txt >> desktop.ini
    DEL /F /Q desktop.txt
    ATTRIB +S +H desktop.ini applogo.ico
    

    这会成功将原始文件夹从客户系统驱动器的根目录复制到他们的桌面,它也会复制我的徽标 - 但它不会将桌面文件夹图标更改为我的applogo.ico,也不会隐藏desktop.iniapplogo.ico个文件。

    ***编辑:在使用ATTRIB功能后,我添加了这个,它可以将applogo.ico与desktop.ini分开隐藏,现在两者都隐藏了 - 仍然没有将文件夹图标更改为我的图标..

    REM THIS ADDS THE SYSTEM FILE ATTRIBUTE
    ATTRIB +S "Computer Support"
    ATTRIB +S +H applogo.ico
    

    那么有人能看出我做错了吗?

    提前谢谢!!

    ***编辑:(答案)

    很抱歉回复我自己的主题,但现在可以认为这已经过关闭了 - 它已被弄清楚了。

    它最终包含了PUSHD命令。

    检查并比较(对于任何想知道的人)

    REM THIS COPIES MY ICON TO THE DEFAULT REPORTS FOLDER AT THE ROOT OF THE CUSTOMER'S SYSTEM DRIVE
    copy /y applogo.ico "%systemdrive%\Computer Support"
    
    xcopy "%systemdrive%\Computer Support" "%userprofile%\Desktop\Computer Support" /e /c /i /h /r /k /y /z
    
    REM THIS ADDS THE SYSTEM FILE ATTRIBUTE
    pushd "%userprofile%\Desktop"
    ATTRIB +S "Computer Support"
    CD "Computer Support"
    ATTRIB +S +H applogo.ico
    
    REM THIS CHANGES THE FOLDER ICON TO MY OWN ICON
    ECHO [.ShellClassInfo] >> desktop.txt
    ECHO ConfirmFileOp=0 >> desktop.txt
    ECHO NoSharing=1 >> desktop.txt
    ECHO IconFile=applogo.ico >> desktop.txt
    ECHO IconIndex=0 >> desktop.txt
    ECHO InfoTip= >> desktop.txt
    CHCP 1252 >NUL
    CMD.EXE /D /A /C (SET/P=ÿþ)<NUL > desktop.ini 2>NUL
    CMD.EXE /D /U /C TYPE desktop.txt >> desktop.ini
    DEL /F /Q desktop.txt
    ATTRIB +S +H desktop.ini
    

    现在文件夹被转移,文件夹图标被更改,图标和桌面ini文件都被隐藏。

    添加目录 BEFORE ATTRIB功能的PUSHD就可以了。 感谢所有看过的人,我希望这有助于其他人做我想做的事情。

1 个答案:

答案 0 :(得分:1)

以下是答案:

REM THIS COPIES MY ICON TO THE DEFAULT REPORTS FOLDER AT THE ROOT OF THE CUSTOMER'S SYSTEM DRIVE
copy /y applogo.ico "%systemdrive%\Computer Support"

xcopy "%systemdrive%\Computer Support" "%userprofile%\Desktop\Computer Support" /e /c /i /h /r /k /y /z

REM THIS ADDS THE SYSTEM FILE ATTRIBUTE
pushd "%userprofile%\Desktop"
ATTRIB +S "Computer Support"
CD "Computer Support"
ATTRIB +S +H applogo.ico

REM THIS CHANGES THE FOLDER ICON TO MY OWN ICON
ECHO [.ShellClassInfo] >> desktop.txt
ECHO ConfirmFileOp=0 >> desktop.txt
ECHO NoSharing=1 >> desktop.txt
ECHO IconFile=applogo.ico >> desktop.txt
ECHO IconIndex=0 >> desktop.txt
ECHO InfoTip= >> desktop.txt
CHCP 1252 >NUL
CMD.EXE /D /A /C (SET/P=ÿþ)<NUL > desktop.ini 2>NUL
CMD.EXE /D /U /C TYPE desktop.txt >> desktop.ini
DEL /F /Q desktop.txt
ATTRIB +S +H desktop.ini

我希望这有助于任何想要做我想做的事情的人!完美地工作。