文件创建日期,修改日期修改程序

由于特殊需要,对文件的创建日期,修改日期根据文件名日期进行批量随机性(有时间范围段)的修改,一般修改程序比较难以满足这样的需求,于是就有了以下的程序,本来想用JAVA来做,后来发现这部分用JAVA来实现是有点麻烦的,只能用.NET来实现,C#的语法还是和JAVA很相近的。

API很强大,调用代码如下:

  System.IO.FileInfo fia = new System.IO.FileInfo("文件路径");
  fia.CreationTime = dtF;   //修改创建时间
  fia.LastWriteTime = dtF; ;//修改最后修改时间
  fia.LastAccessTime = dtF; ;//修改最后访问时间

时间随机代码如下:


        private void button2_Click(object sender, EventArgs e)
        {

            int lastInt = 0;//上一次随机数
            int randInt = 0;//随机数
            String startD = textBox1.Text + ":" + textBox2.Text + ":" + textBox3.Text;
           
            String startE = textBox6.Text + ":" + textBox5.Text + ":" + textBox4.Text;
           
            
            FolderBrowserDialog fbd = new FolderBrowserDialog();
           
            fbd.ShowDialog();
            
            String app = fbd.SelectedPath;
            
            string[] fileNames = System.IO.Directory.GetFiles(app);
        
            Random rd = new Random();
            
            foreach (string file in fileNames)
            {
               
                System.IO.FileInfo fia = new System.IO.FileInfo(file);
                
                listBox1.Items.Add(file.Replace(app+"\\",""));
                
                String  apps = file.Replace(app + "\\", "");
                
                String appDstr = apps.Substring(7, 8);
                
                appDstr = appDstr.Substring(0, 4) + "-" + appDstr.Substring(4, 2) + "-" + appDstr.Substring(6, 2);

                label5.Text = appDstr;
                
                DateTime dtS = Convert.ToDateTime(appDstr+"  "+startD);
                
                DateTime dtE = Convert.ToDateTime(appDstr + "  " + startE);
                
                TimeSpan ts = dtE - dtS;
                
                int roundRandNum = rd.Next(1,10);//避免种子重复性
                
                randInt = rd.Next(roundRandNum, Convert.ToInt32(ts.Ticks / 1000000000));

                while (randInt!= lastInt)//避免短时间内产生同样的随机数
                {
               
                    lastInt = randInt;
                    
                    long timeTicks = Convert.ToInt64(j) * Convert.ToInt64(1000000000);
                    
                    DateTime dtF = dtS.AddTicks(timeTicks);
                    
                    fia.CreationTime = dtF;//修改创建时间
                    
                    fia.LastWriteTime = dtF; ;//修改最后修改时间
                    
                    fia.LastAccessTime = dtF; ;//修改最后访问时间
              }
              
                
            }
          
            MessageBox.Show("ALL OK");

        }


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值