Unity3D】【Unity基础】unity系统找不到指定文件怎么办?

2020-12-29 11:58发布

12条回答
是开心果呀 - 热爱生活
2楼 · 2020-12-30 17:20

系统找不到指定文件,往往是系统文件丢失或损坏。我们在安装或者是在打开软件的时候,都会发生系统找不到指定文件的情况。具体步骤如下:

  一、目录路径太长

  1、如下图,这个文件找不到,是因为目录路径太长,Windows识别不了这么长的目录

首先,这个目录上级目录已经是Windows的临时缓存目录,然后是压缩包的一个缓存目录再套下一个压缩包的缓存目录,目录路径太长,造成Windows根本无法识别,所以提示 系统找不到指定文件

  2、将压缩包中的压缩包解压出来,再打开其中的文件,这样就不会提示 错误了。

3、改变系统的临时缓存 目录,将临时缓存目录

  右键 我的电脑-- 高级 -- 环境变量

4、改变 Administrator 的用户变量中双击TEMP ,TMP目录路径,把路径改短一点,如图:

  可以改相同的目录,也可以是不同的目录,但是不要用根目录,用根目录,会造成出现很多的临时缓存文件,很乱。

  系统环境变量不要轻易修改,切记

  这样在解压嵌套压缩包的时候,路径就不会变的特别长,错误提示就解决了。

5、最后一种识别了不了的问题,是中文目录乱码识别不了,解决的方法

  可以把安装的目录改为桌面,或者把中文目录全部变成 简单的拼音

  桌面这个中文目录,识别出来的是Desktop ,其实也是英语目录



kitidog2016
3楼 · 2020-12-29 15:18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
using System;
"filtered">
using System.Collections.Generic;
"filtered">
using System.Linq;
"filtered">
using System.Text;
"filtered">
using System.IO;
"filtered">
using Cinch;
"filtered">
using System.Windows.Forms;
"filtered">
using System.Windows.Threading;
"filtered">

"filtered">
namespace PIC
"filtered">
{
"filtered">
    public  class VM:ViewModelBase
"filtered">
    {
"filtered">
         /// 
        /// 路径
        /// 
        public string FolderPath { getprivate set; }
"filtered">
        //public IList imageList{get;set;}
        public string ImagePath { getset; }
"filtered">
        private int index = 0;
"filtered">
        //private string path = System.Environment.CurrentDirectory;
        DispatcherTimer timer = new DispatcherTimer();
"filtered">
        /// 
        /// 图片文件名
        /// 
        public IList<string> ImageFileList { getprivate set; }
"filtered">

"filtered">
        public SimpleCommand ChangeFolderCommand { getprivate set; }
"filtered">
        public SimpleCommand PreviousImageCommand { getprivate set; }
"filtered">
        public SimpleCommand NextImageCommand { getprivate set; }
"filtered">
        public SimpleCommand ClockWiseCommand { getprivate set; }
"filtered">
        public SimpleCommand CounterClockWiseCommand { getprivate set; }
"filtered">
        public SimpleCommand StartSlideShowCommand { getprivate set; }
"filtered">
        public SimpleCommand StopSlideShowCommand { getprivate set; }
"filtered">
        public SimpleCommand DeleteImageCommand { getprivate set; }
"filtered">
        /// 
        /// 
        /// 
        /// 
        public VM(string folderPath)
"filtered">
        {
"filtered">
            this.ImageFileList = new List<string>();
"filtered">
            ChangeFolderPath(folderPath);
"filtered">
            
"filtered">
            this.ChangeFolderCommand = new SimpleCommand
"filtered">
            {
"filtered">
                ExecuteDelegate=x=>ChangeFolder()
"filtered">
            };
"filtered">
            this.PreviousImageCommand = new SimpleCommand
"filtered">
            {
"filtered">
                ExecuteDelegate = x => PreviousImage()
"filtered">
            };
"filtered">
            this.NextImageCommand = new SimpleCommand
"filtered">
            {
"filtered">
                ExecuteDelegate = x => NextImage()
"filtered">
            };
"filtered">
            this.StopSlideShowCommand = new SimpleCommand
"filtered">
            {
"filtered">
                ExecuteDelegate =x=>StopSlideShow()
"filtered">
            };
"filtered">
            this.DeleteImageCommand = new SimpleCommand
"filtered">
            {
"filtered">
                ExecuteDelegate=x=>DeleteImage()
"filtered">
            };
"filtered">
            timer.Interval =  TimeSpan.FromMilliseconds(1000);
"filtered">
            timer.Tick += new EventHandler(timer_Tick);
"filtered">
        }
"filtered">

"filtered">
        void timer_Tick(object sender, EventArgs e)
"filtered">
        {
"filtered">
            if (index >= ImageFileList.Count)
"filtered">
            {
"filtered">
                index = 0;
"filtered">
            }
"filtered">
            ImagePath = ImageFileList[index];
"filtered">
            index++;
"filtered">
        }
"filtered">
        void StopSlideShow()
"filtered">
        {
"filtered">
            timer.Stop();
"filtered">
        }
"filtered">
        void ChangeFolder()
"filtered">
        {
"filtered">
            FolderBrowserDialog dialog=new FolderBrowserDialog();
"filtered">
            if(dialog.ShowDialog()==DialogResult.OK)
"filtered">
            {
"filtered">
                ChangeFolderPath(ImagePath);
"filtered">
                ImageFileList.Clear();
"filtered">
                //
            }
"filtered">
        }
"filtered">
        void PreviousImage()
"filtered">
        {
"filtered">
            index--;
"filtered">
            if (index < 0)
"filtered">
            {
"filtered">
                MessageBox.Show("已是第一张");
"filtered">
                return;
"filtered">
            }
"filtered">
            ImagePath=ImageFileList[index];
"filtered">
        }
"filtered">
        void NextImage()
"filtered">
        {
"filtered">
            index--;
"filtered">
            if (index >ImageFileList.Count-1)
"filtered">
            {
"filtered">
                MessageBox.Show("已是最后一张");
"filtered">
                return;
"filtered">
            }
"filtered">
            ImagePath = ImageFileList[index];
"filtered">
        }
"filtered">
        void StartSlideShow()
"filtered">
        {
"filtered">
            timer.Start();
"filtered">
        }
"filtered">
        void DeleteImage()
"filtered">
        {
"filtered">
            if (ImagePath != null)
"filtered">
            // if (_deletingImg != null)
            {
"filtered">

"filtered">
                if (MessageBox.Show("是否删除""提示", MessageBoxButtons.YesNo) ==
"filtered">
                    System.Windows.Forms.DialogResult.Yes)
"filtered">
                {
"filtered">
                    try
"filtered">
                    {
"filtered">
                        //this.pictureBox.Image.Dispose();
                        //this.pictureBox.Image = null;
                        DeleteImage(ImagePath);
"filtered">

"filtered">

"filtered">
                    }
"filtered">
                    catch (Exception ex)
"filtered">
                    {
"filtered">
                        MessageBox.Show("删除失败", ex.ToString(), MessageBoxButtons.OK);
"filtered">

"filtered">
                        //throw;
                    }
"filtered">
                    finally
"filtered">
                    {
"filtered">
                        //this.LoadImage();
                    }
"filtered">
                }
"filtered">
            }
"filtered">
            else
"filtered">
            {
"filtered">
                MessageBox.Show("选择图片");
"filtered">
            }
"filtered">
        }
"filtered">
        /// 
        /// 验证路径合法性
        /// 
        /// 
        void ValidateFilePath(string folderPath)
"filtered">
        {
"filtered">
            if (Directory.Exists(folderPath) == false)
"filtered">
            {
"filtered">
                throw new Exception("错误");
"filtered">
                
"filtered">
            }
"filtered">
            return;
"filtered">
        }
"filtered">

"filtered">
        /// 
        /// 更改文件路径
        /// 
        /// 
        public void ChangeFolderPath(string folderPath)
"filtered">
        {
"filtered">
            ValidateFilePath(folderPath);
"filtered">
            this.FolderPath = folderPath;
"filtered">
            ReadImages();
"filtered">
        }
"filtered">

"filtered">
        /// 
        /// 读取文件资源
        /// 
        void ReadImages()
"filtered">
        {
"filtered">
            //清空原有的文件路径
            //遍历新文件夹路径下的文件
            //填充图片文件名
            // ImageFiles
            string[] imagePath;
"filtered">
            ImageFileList.Clear();
"filtered">
            try
"filtered">
            {
"filtered">
                imagePath = Directory.GetFiles(FolderPath, "*.jpg");
"filtered">
                for (int i = 0; i < imagePath.Length; i++)
"filtered">
                {
"filtered">
                    ImageFileList.Add(imagePath[i]);
"filtered">
                }
"filtered">
            }
"filtered">
            catch (Exception e)
"filtered">
            {
"filtered">
                
"filtered">
                throw new Exception("错误", e);
"filtered">
            }
"filtered">
        }
"filtered">
        void DeleteImage(string imageFileName)
"filtered">
        {
"filtered">
            if (File.Exists(imageFileName) == true)
"filtered">
            {
"filtered">
                try
"filtered">
                {
"filtered">
                    File.Delete(imageFileName);
"filtered">
                    ImageFileList.Remove(imageFileName);
"filtered">
                }
"filtered">
                catch (Exception ex)
"filtered">
                {
"filtered">
                    throw new Exception(ex.ToString());
"filtered">
                }
"filtered">
            }
"filtered">

"filtered">
        }
"filtered">

"filtered">
    }
"filtered">
}
"filtered">


写了这个个ViewModel,然后我用Nunit测试,我就在测试类里写了句

C# code?

1
VM v = new VM(System.Environment.CurrentDirectory);


aijingda
4楼 · 2020-12-29 15:24

本人使用的是最新的ET6.0  Unity版本2019.3.0f6  Microsoft Visual Studio Enterprise 2019版本 16.4.4

解决方法,看好了哈!

  • 方法1:

找到ProcessHelper.cs文件的Run方法,将

ProcessStartInfo info = new ProcessStartInfo
                {
                    FileName = exe,
                    Arguments = arguments,
                    CreateNoWindow = true,
                    UseShellExecute = useShellExecute,
                    WorkingDirectory = workingDirectory,
                    RedirectStandardOutput = redirectStandardOutput,
                    RedirectStandardError = redirectStandardError,
                };

其中FileName 赋值为 Path.GetFullPath(workingDirectory) + exe, 即:FileName =Path.GetFullPath(workingDirectory) + exe,

  • 方法二:

找到ProcessHelper.cs文件的Run方法,将

ProcessStartInfo info = new ProcessStartInfo
                {
                    FileName = exe,
                    Arguments = arguments,
                    CreateNoWindow = true,
                    UseShellExecute = useShellExecute,
                    WorkingDirectory = workingDirectory,
                    RedirectStandardOutput = redirectStandardOutput,
                    RedirectStandardError = redirectStandardError,
                };

其中WorkingDirectory 赋值为 Path.GetFullPath(workingDirectory), 即:WorkingDirectory = Path.GetFullPath(workingDirectory)


Ross
5楼 · 2020-12-29 16:16

不知道你说的指定文件是什么文件,能发个截图吗.如果正常安装的引擎软件,是不会出现问题,如果导入的模型,会有材质丢失的现象,此时需要手机添加材质,或者完整的游戏中脚本丢失,需要重新把脚本拖到正确的物体上,其它的如果不是语法问题,还出现错误时,需要检查引擎的版本是否和资源相匹配.

Kindery
6楼 · 2020-12-29 19:09

文件找不到,是因为目录路径太长,WINDOWS识别不了这么长的目录,

首先,这个目录上级目录已经是WINDOWS的临时缓存目录,然后是压缩包的一个缓存目录再套下一个压缩包的缓存目录,目录路径太长,造成WINDOWS根本无法识别,所以提示 系统找不到指定文件

将压缩包中的压缩包解压出来,再打开其中的文件,这样就不会提示 错误了

改变系统的临时缓存 目录,将临时缓存目录

右键 我的电脑-- 高级 -- 环境变量

改变 Administrator 的用户变量 中 双击TEMP ,TMP目录路径,把路径改短一点,如图:

可以改相同的目录,也可以是不同的目录,但是不要用根目录,用根目录,会造成出现很多的临时缓存文件,很乱。

系统环境变量不要轻易修改,切记

这样在解压嵌套压缩包的时候,路径就不会变的特别长,错误提示就解决了。

最后一种识别了不了的问题,是 中文目录乱码识别不了,解决的方法

可以把安装的目录改为 桌面,或者把中文目录全部变成 简单的拼音

桌面 这个 中文目录,识别出来的是 Desktop ,其实也是英语目录



目录路径bai太长

1

如下图,这个文件找不到,是因为目录路径太长,WINDOWS识别不了这么长的目录,

首先,这个目录上级目录已经是WINDOWS的临时缓存目录,然后是压缩包的一个缓存目录再套下一个压缩包的缓存目录,目录路径太长,造成WINDOWS根本无法识别,所以提示 系统找不到指定文件

2

将压缩包中的压缩包解压出来,再打开其中的文件,这样就不会提示 错误了

3

改变系统的临时缓存 目录,将临时缓存目录

右键 我的电脑-- 高级 -- 环境变量

4

改变 Administrator 的用户变量 中 双击TEMP ,TMP目录路径,把路径改短一点,如图:

可以改相同的目录,也可以是不同的目录,但是不要用根目录,用根目录,会造成出现很多的临时缓存文件,很乱。

系统环境变量不要轻易修改,切记

这样在解压嵌套压缩包的时候,路径就不会变的特别长,错误提示就解决了。

我想吃肉
8楼 · 2020-12-30 09:32
有些用户安装软件的时候提示“系统找不到指定文件”,这是怎么回事呢?在使用电脑的过程中难免会碰到一些问题,那么该如何来解决“系统找不到指定文件”这个问题呢?下面小编给大家分享下解决方法。
1、首先使用鼠标右键点击“我的电脑”,选择“属性”。
2、接着在弹出来的窗口中选择“系统特性”选项,再点击其中的“高级”选项,点击“环境变量”按钮进入“环境变量”设置窗口。
3、之后在打开的窗口“XXX的用户变量”列表框中,就会显示出用户变量temp和tmp的设置情况,然后点击“编辑”按钮对temp和tmp的变量值进行修改,即将变量值由“%USERPROFILE%\Local  setting\Temp”修改为“X:temp”,(其中的X表示磁盘盘符)。
4、最后点击“确定”按钮保存后退出,重新启动系统即可解决问题。
以上就是安装软件提示系统找不到指定文件怎么解决的方法了,通过上面设置问题得到很好的解决,遇见这种问题的用户赶快试试吧。


像风没有归宿
9楼 · 2020-12-30 09:55

可能是清理垃圾的时候
误将此文件删除。
杀毒软件误认为是病毒被清除了。
关闭杀毒软件即可。杀毒软件对于日常家用电脑没什么太大作用。

相关问题推荐

  • 回答 17

    还是要学好编程基础呀如果你觉得编程很苦难 不一定要从c#开始学  学学js flash as等等  有个梯度就好多了如果要用好unity  不会编程那是不行的  学习的过程中都有个头疼的过程  记住  头越痛  代表你要接受的东西越多  坚持 你的大脑在和知识兼容中:D...

  • unity如何自学Unity3D 2022-01-06 15:24
    回答 18

    可以先思考学习的目的,是什么因素在驱动你。是完成一款作品?进入某个行业?还是探究某类问题?否则和技术相关的知识浩如烟海,很容易迷失在细枝末节上。而要找到动力源头。个人的经验,就是关注一些和自己同方向,同类型的创作者。他们输出的作品会激励你,...

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 2

    Shader Unlit/Test{Properties{_MainTex(MainTex,2D)=white{}_MainColor(MainColor,COLOR)=(1,1,1,1)_AddTex(AddTex,2D)=white{}_Maxset(Max,Range(0.1,1.0))=0.1}SubShader{Tags{RenderType=Transparent Queue=Tran...

  • 回答 4

    文章主要为大家详细介绍了Unity Shader实现水波纹效果,文中示例代码介绍的非常详细具体代码实现如下:Shader Custom/shuibowen{ Properties{ _MainTex(Base (RGB),2D)=white{} _distanceFactor(Distancefactor,float)=1 _timeFactor(time factor,float)=...

  • 回答 7

    策划的最基本的原则就是:改进缺点,做别人没有做到的。无论游戏策划还是其它策划都是一样!    游戏策划的第二个原则:放飞思想。也许你认为我是说策划们应该充满想象力,能想一些匪夷所思的东西!对不起。不是这意思!一个合格的策划不是为了发泄自己的...

  • 回答 7
    已采纳

    可以多玩一些其它的游戏,看一些科幻电影等,寻找灵感。

  • 回答 3
    已采纳

    游戏架构与设计不纯粹是一门科学,它不需要提出假设或探究真理,也不被逻辑或正规方法的严格标准所束缚。游戏的目的就是通过玩来获得娱乐,因此游戏设计即需要艺术家一样的创造力,也需要工程师一样的精心规划。游戏设计是一门手艺,就像好莱坞的电影摄像或服...

  • 回答 5

    void Update(){          transform.rotation = Quaternion.Euler(Vector3.zero);}可以试一下,保证物体x轴和z轴为0就可以使其一直垂直。

  • 回答 3

    界面左右移动、上下移动。。本质都是:手指滑动。。。可以参考这些:https://www.cnblogs.com/coldcode/p/5362537.htmlhttps://blog.csdn.net/totosj/article/details/80112852https://blog.csdn.net/zcc858079762/article/details/85253120...

  • 回答 6

    首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存:AخA 1using UnityEngine;2using System.Collections;3public class MyFollow : MonoBehaviour4{5    public float distanceAway = 5;          // distance...

  • 回答 5

    安装高通的Vuforia插件即可。

  • 回答 5

    不可以,只能一个工程打一个包。

  • 回答 2

    Edit->Project Settings->Graphics 找到Shader Stripping 中fog mode设置为custom(原来是Automatic),然后选中你想要的模式,最后重新打包就ok

  • 回答 2

    用到的插件:System.Drawing.dllSystem.Windows.Forms.dllSystem.Deployment.dll(运用基于.Net4.x的dll打包时,需要用到该dll,否则会报错)代码如下:using System;using System.Runtime.InteropServices;using UnityEngine;using UnityEngine.UI; p......

  • 回答 6

    如下图,设置为none,然后删掉滑动条就可以了。

没有解决我的问题,去提问