fac*_*lmd 210 windows file-attributes touch
当您想在 Windows 上更新文件的日期修改字段时,您使用什么?
编辑:正如CheapScotsman here指出的那样,已经有一个应用程序页面。
如果有人知道我如何通过 C++、C#、WSH或类似的东西来做到这一点,很好,否则我认为链接问题中涵盖了其他所有内容。
小智 407
如果要使用 Windows 触摸文件的日期戳,请在命令提示符下使用以下命令:
copy /b filename.ext +,,
Run Code Online (Sandbox Code Playgroud)
(filename.ext您的文件名在哪里)。这+,,是一个特殊的标志,copy告诉它简单地更新文件上的日期/时间:
* 更改文件的时间和日期
如果要在不修改文件的情况下将当前时间和日期分配给文件,请使用以下语法:
copy /b Source+,,逗号表示省略了 Destination 参数。
根据 Lumi 和 Justin 的评论进行编辑:将其放入批处理文件中,例如。触摸命令
@COPY /B %1+,, %1
Run Code Online (Sandbox Code Playgroud)
即使文件不在当前目录中(在 Windows 7 上测试),这也有效。
小智 107
如果您只想更改文件的上次修改日期(这是我的情况):
C:\> powershell (ls your-file-name-here).LastWriteTime = Get-Date
Run Code Online (Sandbox Code Playgroud)
bob*_*ogo 64
type nul >>file & copy file +,,
Run Code Online (Sandbox Code Playgroud)
file如果不存在则创建。cmd内置插件。更新
嘎!这不适用于只读文件,而适用touch。我建议:
:touch
if not exist "%~1" type nul >>"%~1"& goto :eof
set _ATTRIBUTES=%~a1
if "%~a1"=="%_ATTRIBUTES:r=%" (copy "%~1"+,,) else attrib -r "%~1" & copy "%~1"+,, & attrib +r "%~1"
Run Code Online (Sandbox Code Playgroud)
Far*_*oon 33
@dash-tom-bang:
以下是 Technet 对神秘的“+”和逗号的解释:
复制 /b 源+,,
逗号表示省略了 Destination 参数。
copy 命令支持将多个文件合并为一个目标文件。由于无法在命令提示符下使用空格字符指定空白目标,因此可以使用两个逗号来表示。
这是 Technet 的复制命令参考:http : //technet.microsoft.com/en-us/library/bb490886.aspx
Fre*_*örk 23
如果您想自己编写代码,.NET 提供了File.SetLastAccessTime,File.SetCreationTime和File.SetLastWriteTime方法。
小智 21
这是使用powershell的递归版本......这将更改所有文件和子目录以及该目录子目录中的文件的最后修改时间
ps c:myDir> Get-ChildItem . * -recurse | ForEach-Object{$_.LastWriteTime = get-date}
Run Code Online (Sandbox Code Playgroud)
小智 17
我试图在我的批处理脚本中创建一个空文件。你可以使用这个:
ECHO text>file1.txt
Run Code Online (Sandbox Code Playgroud)
ser*_*g10 15
cygwin自带touch。我知道你提到你不想安装整个框架,但 cygwin 非常轻量级,可以从 dos 命令窗口调用,而无需打开整个类似 unix 的命令行。
您还可以控制要安装的工具,因此您可以简单地安装touch.exe文件,而保留框架的其余部分。
Jon*_*way 14
这是我编写的一个简单的 regfile,用于在 Windows 资源管理器中添加右键单击“触摸”。编写脚本也很容易,因为它只是调用:
cmd.exe /c copy %1+nul %1 /by
Run Code Online (Sandbox Code Playgroud)
小智 11
从CodeProject试试这个。
小智 7
可以将此内容保存到 reg 文件中。这将为所有具有“触摸文件”功能(在 Windows 7 上测试)的文件添加一个右键单击上下文菜单。将以下所有行复制到 reg 文件。运行文件并批准问题。右键单击任何文件(或多个文件) - 现在可以使用“触摸文件”选项。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\Touch File]
[HKEY_CLASSES_ROOT\*\shell\Touch File\command]
@="cmd /C copy /b \"%1\" +,,"
Run Code Online (Sandbox Code Playgroud)
来自Stack Overflow 上的一个类似问题。
为了更新时间戳(忽略 的其他功能touch),我会选择:
copy /b filename.ext +,,
Run Code Online (Sandbox Code Playgroud)
小智 5
在 PowerShell 中尝试:
ni fileName.txt
Run Code Online (Sandbox Code Playgroud)
NI是New-Item cmdlet的别名。
| 归档时间: |
|
| 查看次数: |
343056 次 |
| 最近记录: |