7z.exe अपेंडेड की अनुमति देता है, लेकिन 7zg.exe दावा फ़ाइल पहले से मौजूद है


0

यहाँ एक अजीब है। मैं विंडोज़ 10 पर 7-ज़िप [64] संस्करण 16.04 चला रहा हूं।

मेरे पास निम्न शक्तियाँ लिपि हैं। $ zipper प्रोग्राम 7z.exe पर सेट है, स्क्रिप्ट ठीक चलती है।

अगर मैं $ zipper प्रोग्राम को 7zg.exe में बदलता हूं तो स्क्रिप्ट में दूसरी बार इसे बनाते समय मुझे एक त्रुटि मिलती है। यह शिकायत करता है कि Gl.7z संग्रह पहले से मौजूद है!

जैसा कि आप देख सकते हैं, मैं दूसरे फोल्डर (शरलॉक) के लिए कमांड को "ए" से "यू" (अपडेट) में बदलने की कोशिश कर रहा हूं, लेकिन इससे कोई फायदा नहीं हुआ। (मुझे 7z.exe के लिए ऐसा करने की ज़रूरत नहीं है)।

क्या देता है, और 7zg.exe 7z.exe से अलग क्यों है?

clear-host
Set-Location $PSScriptRoot # set current directory to location of script
[string]$zipper = "$($Env:ProgramFiles)\7-Zip\7z.exe"
[Array]$archive = "GL.7z"
[Array]$flags = "a","-t7z","-mx1","-mmt=on","-ms=on", "-r"
[Array]$skip = "-xr!.svn","-xr!.vs","-xr!bin","-xr!obj","-xr!Properties","-x!*.csproj","-x!*.user","-x!*.sln","-x!*.suo","-x!web.config","-x!web.*.config"
if (Test-Path $archive) {
  Remove-Item $archive
}
$startDate = Get-Date
Write-Output "starting at:  $startDate"
$ElapsedTime = [System.Diagnostics.Stopwatch]::StartNew()
Write-Output "Toby............................................................................................"
[Array]$in = "..\Toby"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
Write-Output "Sherlock............................................................................................"
[Array]$flags = "u","-t7z","-mx1","-mmt=on","-ms=on", "-r"
[Array]$in = "..\Sherlock"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
exit
Write-Output "Watson............................................................................................"
[Array]$in = "..\Watson"
[Array]$wskip = "-xr!.svn","-xr!.svn", "-xr!obj", "-x!*.md", "-x!watson.log*.json", "-x!*.sln", "-x!*.suo", "-x!*.njsproj", "-x!*.dat", "-x!*.md", "-x!*LICENSE*", "-x!*.yml", "-x!*.git*", "-x!.npm*", "-x!*.c", "-x!*.txt", "-x!Makefile", "-x!.jshint*", "-x!readme*"
[Array]$cmd = $flags + $archive + $in + $wskip
& $zipper $cmd
Write-Output "Doc............................................................................................"
[Array]$in = "..\doc"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
Write-Output "Setup............................................................................................"
[Array]$in = "..\setup"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd
exit
Write-Output "Base Maps Files............................................................................................"
[Array]$in = "..\BaseMaps"
[Array]$cmd = $flags + $archive + $in + $skip
& $zipper $cmd

write-host "Total Elapsed Time: $($ElapsedTime.Elapsed.ToString())"

# list files: 
# &$zipper l $archive

# 7z e archive.zip -oc:\soft *.cpp -r

1
'7z' में 'G' का अर्थ है जी यूआई संस्करण, जबकि आपको बैच संस्करण की आवश्यकता होती है।
harrymc

मैं एक GUI देखना चाहता था, क्योंकि इसमें काफी समय लगता है। बैच संस्करण @harrymc का नाम क्या है?
Dr.YSG

इसे कहते हैं 7z.exe
harrymc

हाँ, यह वही है जो मैं पहले से ही काम कर रहा था। 7z.exe। क्या आपको यह अजीब नहीं लगता कि यह एक ही कमांड तर्क देता है लेकिन एक ही काम नहीं करता है? मेरे लिए 7z.exe एक आदिम तरीके से काम करता है। मैं उम्मीद कर रहा था कि मैं 7zg.exe के कई चालान के साथ एक ही काम कर सकता हूं
Dr.YSG

हां, इसकी संभावना कम ही लगती है। इसलिए मैंने सिर्फ कोशिश की 7zg a test.7z file1 और फिर 7zg a test.7z file2 और उन्होंने ठीक काम किया। मुझे लगता है कि आपको स्क्रिप्ट को डीबग करना चाहिए ( उपयोगी लिंक )।
harrymc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.