Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell在FAT32或NTFS中格式化U盘_Powershell_Formatting_Usb - Fatal编程技术网

Powershell在FAT32或NTFS中格式化U盘

Powershell在FAT32或NTFS中格式化U盘,powershell,formatting,usb,Powershell,Formatting,Usb,我一直在试图找到一个解决USB问题的方法,我想将两个小型PS1脚本合并为一个,以便能够选择单独的USB以FAT32或NTFS格式格式化。还可以设置DiskNumber、DriveLetters和NewFileSystemLabel ****FAT32.PS1中的USB格式**** cls "list disk" | diskpart do { write-host -nonewline "Enter a USB DISK number then press ENTER: " $inputStr

我一直在试图找到一个解决USB问题的方法,我想将两个小型PS1脚本合并为一个,以便能够选择单独的USB以FAT32或NTFS格式格式化。还可以设置DiskNumber、DriveLetters和NewFileSystemLabel

****FAT32.PS1中的USB格式****

cls
"list disk" | diskpart

do {
write-host -nonewline "Enter a USB DISK number then press ENTER: "
$inputString = read-host
$value = $inputString -as [Double]
$ok = $value -ne $NULL
if ( -not $ok ) { write-host "You must enter a numeric value" }
}
until ( $ok )

write-host "You entered DISK: $value "
Get-Disk $value

PAUSE 

Initialize-Disk $value -PartitionStyle MBR
New-Partition –DiskNumber $value -UseMaximumSize –IsActive:$true
Format-Volume –FileSystem FAT32 –DriveLetter I 
              -NewFileSystemLabel "USB-FAT32"

bootsect.exe /NT60 I:

"YOUR USB IS NOW FORMATTED AND BOOTABLE"

PAUSE
****NTFS.PS1中的USB格式****

cls
"list disk" | diskpart


do {
write-host -nonewline "Enter a USB DISK number then press ENTER: "
$inputString = read-host
$value = $inputString -as [Double]
$ok = $value -ne $NULL
if ( -not $ok ) { write-host "You must enter a numeric value" }
}
until ( $ok )

write-host "You entered DISK: $value "
Get-Disk $value

PAUSE 

Initialize-Disk $value -PartitionStyle MBR
New-Partition –DiskNumber $value -UseMaximumSize –IsActive:$true
Format-Volume –FileSystem NTFS –DriveLetter I 
              -NewFileSystemLabel "USB-NTFS"

bootsect.exe /NT60 I:

"YOUR USB IS NOW FORMATTED AND BOOTABLE"

PAUSE

我以前没有使用过Powershell,只有批处理文件,所以我完全不知道应该使用哪些命令以及如何使用变量。 我设法从互联网上把上面的两个PS1文件放在一起。 它们都可以单独工作,但只需将一个USB插入PC即可。 我使用的是Windows10Pro(v1709,红石3,秋季创作者更新)

对我来说,真正的解决方案是 DiskNumber(最多10个-包括6倍HDD和4倍USB)
文件系统(FAT32或NTFS)驱动器号(C到Z) 新文件系统标签(“USB-FAT32”或“USB-NTFS”)

任何帮助或建议都将不胜感激! 谢谢你的关注!!
您好,迈克

您考虑过使用参数吗?尝试在顶部添加此块:

param (
  [string]$Format
)
初始化磁盘
调用中需要指定
NTFS
FAT32
的位置替换为
$Format
,然后您可以简单地指定要作为脚本参数的格式,如下所示:

PS C:\Windows\system32> C:\Path\To\Script.ps1 NTFS # or FAT32
您还可以将其扩展到需要输入的更多值;复制中间行,将
字符串
替换为
int
(如果它是一个数字),并更改参数的名称(它需要保留
$
),然后您可以在需要该信息的任何地方使用它


祝你学习PowerShell好运;一旦您了解了它可以做的所有事情,它就非常有用。

使用
关于参数的帮助
查看参数变量是如何创建和使用的。当您尝试了某个东西但它不起作用时,堆栈溢出是一个提问的好地方。我投票将这个问题作为离题题来结束,因为-请求编程服务。没有努力。没有学习。谢谢你的建议!我相信@Milke-m5也会发现
[ValidateSet('FAT32','NTFS')]
很有用。