如果剪贴板中有文件,我可以使用 ctrl+v 或右键单击 + 粘贴将其粘贴到目录中。有没有办法通过命令行执行粘贴?
答案1
- 选项1
为什么不在命令/蝙蝠/命令行运行一条线 电源外壳 命令去做这个...
1)复制一或者更多的文件到剪贴板
2)设置目标驱动器\文件夹: Copy-Item -Destination D:\Folder_Target
- 将文件粘贴到
%temp%
文件夹:
powershell --NoProfile -command "Get-Clipboard -Format FileDropList | Copy-Item -Destination $env:temp"
powershell --NoProfile -command "Get-Clipboard -Format FileDropList | Copy-Item -Destination $env:temp"
- 或者使用别名
powershell -nOp -c "gcb -Format FileDropList | cpi -Destination $env:temp -PassThru"
- 选项 #2
- 用法:
paste.bat D:\folder\target\
/* & @cls & @echo off & title <nul & title %~nx0: Past File to: "%~1" & setlocal enabledelayedexpansion
2>nul >nul del /q /f "%tmp%\TSPaste2.exe" & for /f tokens^=* %%c in ('%__APPDIR__%where.exe /r "c:\Windows\Microsoft.NET" csc.exe
')do "%%~c" /t:exe /out:"%tmp%\TSPaste2.exe" "%~f0" /platform:anycpu /unsafe+ /w:0 /o /nologo && goto :next
echo/Error: Check/edit ccs.exe command line/flags^!! && endlocal && goto :EOF
:next
"%tmp%\TSPaste2.exe" "%~1" & del /q /f "%tmp%\TSPaste2.exe" & endlocal & goto :EOF && rem./ 2>nul >nul */
// C# code by @Andy Brown https://www.experts-exchange.com/
//
using System;
using System.IO;
using System.Windows.Forms;
namespace TSPaste2
{
class Program
{
//Getting destination foler :: note: from argument %~1 ::
String[] args = Environment.GetCommandLineArgs();
[STAThread] static void Main(string[] args)
{
//Setting Destination foler:
string DestFolder = args[0];
if (Clipboard.ContainsFileDropList())
{
//copy to D:\test ( note: note: C# args[0] == bat/cmd == "%~1" )
foreach (string source in Clipboard.GetFileDropList())
{
string Dest = DestFolder + "\\" + Path.GetFileName(source);
File.Copy(source, Dest, true);
}
}
}
}
}
- 这是命令行习惯编译这C#代码:
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /t:exe out:"%tmp%\TSPaste2.exe" "%tmp%\TSPaste2.cs" /platform:anycpu /unsafe+ /w:0 /o nologo
- 这C#代码是编译/测试在
csc.exe
版本:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
c:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
c:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe
c:\Windows\Microsoft.NET\Framework64\v3.5\csc.exe
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
- 这是
command line
习惯编译这C#代码:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /t:exe /out:"%tmp%\TSPaste2.exe" "%tmp%\TSPaste2.cs" /platform:anycpu /unsafe+ /w:0 /o /nologo
- 用法:
TSPaste2.exe C:\destination\folder
要保留TSPaste2.exe
编译后的文件,请编辑代码并添加以下内容line in bold/italics:
:next
copy /y "%tmp%\TSPaste2.exe" "c:\some\folder"
"%tmp%\TSPaste2.exe" "%~1" & del /q /f "%tmp%\TSPaste2.exe" & endlocal & goto :EOF && rem./ 2>nul >nul */
观察:1) C#代码/通过@Andy Brown / Experts-Exchange C 从剪贴板粘贴文件
观察:2) C#代码覆写文件(如果它们存在于目标文件夹中)。
阅读更多:File.Copy 方法
答案2
以下是如何将单个文件从一个目录复制到另一个目录的步骤。
复制单个文件
使用 cd 命令,移动到包含要复制的文件的目录。
键入类似于以下命令的命令。
copy myfile.txt c:\my\location
在上面的例子中,你可以用要复制的文件的名称替换“myfile.txt”,用目标目录替换“c:\my\location”。要查看当前目录中可用的文件,请使用 dir 命令。
将多个文件复制到另一个位置
以下是如何将多个文件从一个目录复制到另一个目录的步骤。
使用 cd 命令,移动到包含要复制的文件的目录。
进入包含要复制的文件的目录后,键入类似于以下命令之一的命令。
copy *.* c:\mydir
在上面的例子中,该命令会将当前目录下的每个文件复制到“mydir”目录。
copy *.txt c:\mydir
在上面的例子中,命令会将当前目录中的每个 txt 或文本文件复制到“mydir”目录中。